AJAX-sựkếthợpkỳdiệucủacôngnghệweb
AJAX là gì?
AJAX, viết tắt từ Asynchronous JavaScript and XML (JavaScript và XML không
đồng bộ), là bộ công cụ cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ
liệu và chỉ hiển thị những gì cần thiết, thay vì tải đi tải lại toàn bộ trang web.
AJAX không phải một côngnghệ đơn lẻ mà là sựkếthợp một nhóm côngnghệ
với nhau. Trong đó, HTML và CSS đóng vai hiển thị dữ liệu, mô hình DOM trình
bày thông tin động, đối tượng XMLHttpRequest trao đổi dữ liệu không đồng bộ
với máy chủ web, còn XML là định dạng chủ yếu cho dữ liệu truyền. Đây đều là
công nghệ sẵn có nhưng Javacript đã lắp ráp chúng lại để thực hiện những "sứ
mệnh" đáng khâm phục.
Hầu hết các câu chuyện về nguồn gốc củaAJAX được bắt đầu từ khi Microsoft
phát triển côngnghệ Remote Scripting vào năm 1998. Tuy nhiên, phương pháp tải
không đồng bộ nội dung trên một trang web đã xuất hiện trong thành tố IFRAME
của Internet Explorer 3 (1996) và thành tố LAYER của Netscape 4.0 năm 1997.
Khi giới thiệu Internet Explorer 4.0, Microsoft đã sử dụng mô hình đối tượng tài
liệu DOM khác biệt. Đến năm 2000, Netscape hoàn toàn đánh mất thị trường trình
duyệt vào tay hãng phần mềm của Bill Gates và thành tố LAYER cũng không còn
được các chuyên gia phát triển web chú ý tới.
Phải vài năm sau, AJAX mới lại lôi kéo được sự quan tâm của giới côngnghệ và
trở thành công cụ cải tiến giao diện người dùng cho ứng dụng web. Thuật ngữ này
cũng chỉ mới xuất hiện cách đây 1 năm (tháng 2/2005) trong bài viết nổi tiếng của
Jesse James Garrett trên trang Adaptive Path. Từ đó, AJAX trở thành trung tâm
trong mọi câu chuyện liên quan đến thế hệ Web 2.0.
AJAX hoạt động như thế nào?
Từ lâu, mọi người đã tưởng tượng ứng dụng máy tính rồi sẽ được lưu và chạy
hoàn toàn trên web thay vì nằm bó buộc trong ổ cứng. Dù vậy, viễn cảnh đó vẫn
chưa thể xảy ra do ứng dụng web bị hạn chế bởi nguyên lý rằng tất cả các thao tác
phải được thực hiện thông qua HTTP (HyperText Transfer Protocol - Giao thức
truyền tải qua siêu liên kết). Những hoạt động của người sử dụng trên trang web sẽ
tạo ra một yêu cầu HTTP tới server. Máy chủ thực hiện một số khâu xử lý như lấy
lại dữ liệu, tính toán, kiểm tra sựhợp lệ của thông tin, sửa đổi bộ nhớ, sau đó gửi
lại một trang HTML hoàn chỉnh tới máy khách. Về mặt kỹ thuật, phương pháp này
nghe có vẻ hợp lý nhưng cũng khá bất tiện và mất thời gian, bởi khi server đang
thực hiện vai trò của nó thì người dùng sẽ làm gì? Tất nhiên là chờ đợi.
Để khắc phục hạn chế trên, các chuyên gia phát triển giới thiệu hình thức trung
gian - cơ chế xử lý AJAX- giữa máy khách và máy chủ. Điều này giống như việc
tăng thêm một lớp giữa cho ứng dụng để giảm quá trình "đi lại" của thông tin và
giảm thời gian phản ứng. Thay vì tải lại (refresh) toàn bộ một trang, nó chỉ nạp
những thông tin được thay đổi, còn giữ nguyên các phần khác. Vì thế, khi duyệt
một trang hỗ trợ AJAX, người sử dụng không bao giờ nhìn thấy một cửa sổ trắng
(blank) và biểu tượng đồng hồ cát - dấu hiệu cho thấy máy chủ đang thực hiện
nhiệm vụ. Ví dụ, trong một website ảnh, với ứng dụng truyền thống, toàn bộ trang
chứa các ảnh sẽ phải mở lại từ đầu nếu có một thay đổi nào đó trên trang. Còn khi
áp dụng AJAX, DHTML chỉ thay thế đoạn tiêu đề và phần vừa chỉnh sửa, do vậy
tạo nên các giao dịch trơn tru, nhanh chóng.
"Mọi thao tác của người sử dụng sẽ gửi lệnh JavaScript tới bộ xử lý AJAX, thay vì
tạo ra một yêu cầu HTTP (HTTP request) và truy vấn tới máy chủ", Jesse James
Garrett đã ghi trong bài viết đầu tiên định nghĩa về thuật ngữ này. "Nếu cần gì từ
server, như tải về bổ sung mã giao diện hay nhận dữ liệu mới, AJAX sẽ truyền yêu
cầu tới máy chủ một cách không đồng bộ, thông thường sử dụng XML, mà không
làm gián đoạn sự tương tác của người dùng với ứng dụng web
. AJAX - sự kết hợp kỳ diệu của công nghệ web
AJAX là gì?
AJAX, viết tắt từ Asynchronous JavaScript and XML (JavaScript và XML không
đồng bộ), là bộ công. ứng dụng web bằng cách cắt nhỏ dữ
liệu và chỉ hiển thị những gì cần thiết, thay vì tải đi tải lại toàn bộ trang web.
AJAX không phải một công nghệ đơn