Vài năm trước đây, con đường thực sự duy nhất để vận chuyển các dữ
liệu động tới trang Web là kỹ thuật CGI (Common Gateway Interface). Các
chương trình CGI cung cấp một sự liên hệ đơn giản để tạo các ứng dụng
Web cho phép tiếp nhận các dữ liệu nhập vào, các yêu cầu truy vấn cơ sở
dữ liệu từ phía người dùng và trả một vài kết quả về cho trình duyệt.
Các chương trình CGI có thể được viết trên một vài ngôn ngữ, trong đó
phổ biến nhất là Perl. Web server sử dụng CGI như là một cổng truy cập
chặn giữa yêu cầu của người dùng và dữ liệu được yêu cầu. Nó sẽ được nạp
vào bộ nhớ như một chương trình bình thường. Thông thường các web
server sẽ chuyển các yêu cầu và triệu gọi chương trình CGI. Sau khi
chương trình kết thúc, web server sẽ đọc dữ liệu trả về từ chương trình
và gửi nó đến trình duyệt.
Nhược điểm lớn nhất của kỹ thuật
CGI là nó hoạt động kém hiệu quả. Mỗi khi web server nhận một yêu cầu,
một tuyến trình mới được tạo ra. Mỗi tuyến trình lại chứa trong nó các
đoạn mã lệnh, dữ liệu… và không được chia sẻ lẫn nhau, do đó gây ra lãng
phí bộ nhớ. Để khắc phục nhược điểm này, Microsoft và Netscape đã hợp
tác và đưa ra một cải tiến đáng kể là chuyển chúng về dạng các file thư
viện liên kết động (DLL ), cho phép chia sẻ mã lệnh giữa các tuyến
trình. Đây chính là các kỹ thuật ISAPI và NSAPI.
Đen đủi thay, các kỹ thuật dựa trên DLL không phải là đã hoàn thiện. Chúng vẫn còn một số vấn đề:
- Khi các thư viện nền tảng được gọi, nếu muốn thoát các ứng dụng này, ta phải tắt chương trình triệu gọi (Web server) và khởi động lại máy tính.
- Các thư viện cần được đặt trong các tuyến trình bảo vệ, tức là chúng
cần phải được cảnh giác về cách sử dụng các biến chung hoặc các biến
tĩnh.
- Nếu chương trình triệu gọi gây ra lỗi truy cập, nó có thể dẫn đến tình trạng server bị treo tắc tử.
- Và cuối cùng: khi đã được dịch ra các file DLL, công việc gỡ lỗi cũng như bảo trì mã lệnh trở nên vất vả hơn bao giờ hết.
Kỹ thuật Web mới nhất của Microsoft, kết hợp HTML, các đoạn Script, các
thành phần xử lý phía server trong cùng một file, được gọi là ASP
(Active Server Pages), với phiên bản mới nhất hiện nay là ASP.Net. ASP
được triệu gọi bởi một thư viện liên kết động gắn với các Web server của
Microsoft. Về bản chất, ta có thể coi ASP như là một ngôn ngữ thông
dịch vậy. Một trang ASP có thể sử dụng HTML, JScript và VBScript. Qua
các đoạn mã nhúng này, ASP có thể truy cập đến các thành phần phía
server. Các thành phần này có thể được viết trên bất kỳ ngôn ngữ nào hỗ
trợ các thành phần COM của Microsoft. Và đây chính là sức mạnh của ASP:
Nó có thể làm được bất kỳ cái gì mà máy chủ có thể làm được với các
thành phần COM. Sau khi được thi hành, ASP sẽ sản sinh ra một trang Web
có khuôn dạng HTML và trả nó về cho Web server.
Một bất lợi
lớn đối với ASP là nó chỉ có thể hoạt động trên các họ Web server của
Microsoft (bao gồm PWS trên Win9x hay IIS trên WinNT/2000/XP). Các nhà
phát triển đang hướng đến những môi trường khác như Unix/Linux (hiện đã
có bản Chili! ASP chạy trên các môi trường này), nhưng kết quả thì còn
phải đợi thêm một thời gian nữa
Trước khi đi vào tìm hiểu lịch sử của PHP,
có lẽ chúng ta cũng phải nhắc đến một tên tuổi khác là Java Server
Pages. hay JSP. Giống như ASP, trang JSP cho phép chứa HTML, các đoạn mã
Java và các thành phần Java Bean và chúng sẽ thực hiện các công việc để
sản sinh ra một trang Web để gửi về Client. Bất lợi chính của loại này
là phải đi kèm với "máy ảo Java", vốn không được coi là nhanh về mặt tốc
độ.
Lịch sử PHP
PHP - viết tắt của PHP Hypertext Preprocessor - một định nghĩa đệ quy khó hiểu!
Vào khoảng năm 1994, Rasmus Lerdorf đưa một số đoạn Perl Script vào
trang Web để theo dõi xem ai đang đọc tài liệu của ông ta. Dần dần,
người ta bắt đầu thích các đoạn Script này và sau đó đã xuất bản một gói
công cụ có tên là "Personal Home Pages" (nghĩa đầu tiên của PHP). Ông
ta đã viết một cơ chế nhúng và kết hợp với một số công cụ khác để phân
tích đầu vào từ các mẫu biểu HTML: FI, Form Interpreter hay Phiên dịch
mẫu biểu, được tạo ra theo cách đó và được đặt tên là PHP/FI hay PHP2.
Nó được hoàn thành vào khoảng giữa năm 1995.
Sau đó, người ta
bắt đầu sử dụng các công cụ này để xây dựng những thứ rắc rối hơn, và
đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm các
nhà phát triển nòng cốt trong dự án, và nó đã được tổ chức hoá. Đó là sự
bắt đầu của PHP3. Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi
Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo và Jim Winstead) đã
cải tiến và mở rộng bộ máy nhúng và bổ sung thêm một số hàm API đơn giản
cho phép các lập trình viên khác tự do bổ sung nhiều tính năng vào ngôn
ngữ bằng cách viết các module cho nó. Cấu trúc của ngôn ngữ đã được
tinh chế, được kết cấu thân thiện hơn đối với những người đến từ các
ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục. Nếu bạn đã biết
một vài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ không cảm
thấy khó khăn.
Thứ Hai, 10 tháng 4, 2017
Home »
Giáo trình PHP
» Bài 3: Lịch sử phát triển các ứng dụng trên Web server: ASP, JSP và PHP






0 nhận xét:
Đăng nhận xét