AJAX
viết tắt cho “Asynchronous Javascript and XML”. Nghĩa là “Javascript và
XML không đồng bộ”. Từ Ajax được ông Jesse James Garrett tạo ra và dùng
lần đầu tiên vào tháng 2 năm 2005 để chỉ kỹ thuật này, mặc dù các hỗ
trợ cho Ajax đã có trên các chương trình trình duyệt từ 10 năm trước.
AJAX là một kỹ thuật phát triển Web có tính tương tác cao bằng cách kết hợp các ngôn ngữ: - HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin -Mô
hình DOM (Document Object Model), được thực hiện thông qua Javascript,
nhằm hiển thị thông tin động và tương tác với những thông tin được hiển
thị - Đối
tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy
chủ web. (mặc dù việc trao đổi này có thể được thực hiện với nhiều định
dạng như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn
ngữ thường được sử dụng). - XML
thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào
cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain
text), JSON và ngay cả EBML. Giống như DHTML, LAMP hay SPA. AJAX
tự nó không phải là một công nghệ mà là một thuật ngữ mô tả việc sử
dụng kết hợp một nhóm nhiều công nghệ với nhau. Trong thực tế, các công
nghệ dẫn xuất hoặc kết hợp dựa trên AJAX như AFLAX cũng đã xuất hiện. So sánh với các ứng dụng web truyền thông Hiểu nôm na: Điểm khác biệt cơ bản nhất của công
nghệ này là việc xử lý thông tin được thực hiện trên máy thân chủ
(Client) thay vì máy phục vụ (Server) như cách truyền thống. Máy chủ
chỉ làm một việc đơn giản là nhận thông tin từ máy khách và trả các dữ
liệu về cho máy khách. Máy khách xử lý sơ bộ thông tin của người dùng
nhập vào, sau đó chuyển về máy chủ rồi nhận dữ liệu từ máy chủ và xử lý
để hiển thị cho người dùng. Các ứng dụng Ajax phần lớn trông giống như thể chúng
được đặt trên máy của người sử dụng hơn là được đặt trên một máy phục
vụ thông qua Internet. Lý do: các trang được cập nhật nhưng không nạp
lại (refresh) toàn bộ. "Mọi thao tác của người sử dụng sẽ gửi mẫu của
một lời gọi JavaScript tới bộ xử lý (engine) Ajax thay vì tạo ra một
yêu cầu HTTP (HTTP request)", Jesse James Garrett
đã ghi như vậy trong bài luận đầu tiên định nghĩa về thuật ngữ này.
"Mọi đáp ứng cho thao tác của người sử dụng sẽ không cần truy vấn tới
máy phục vụ – ví dụ như việc kiểm tra một cách đơn giản sự hợp lệ của
dữ liệu, sửa đổi dữ liệu trong bộ nhớ và thậm chí một vài thao tác
duyệt trang – bộ xử lý Ajax tự nó đảm nhận trách nhiệm này. Nếu bộ xử
lý cần gì từ máy phục vụ để đáp ứng – như khi nó gửi dữ liệu để xử lý,
tải về bổ sung các mã giao diện hay nhận về dữ liệu mới – nó sẽ thực
hiện các yêu cầu tới máy phục vụ 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 sử dụng với
ứng dụng web". Các ứng dụng truyền thống về bản chất là gửi dữ liệu từ các form,
được nhập bởi người sử dụng, tới một máy phục vụ web. Máy phục vụ web
sẽ trả lời bằng việc gửi về một trang web mới. Do máy phục vụ phải tạo
ra một trang web mới mỗi lần như vậy nên các ứng dụng chạy chậm và
"lúng túng" hơn. Mặt khác, các ứng dụng Ajax có thể gửi các yêu cầu
tới máy phục vụ web để nhận về chỉ những dữ liệu cần thiết, thông qua
việc dùng SOAP hoặc một vài dịch vụ web dựa
trên nền tảng XML cục bộ khác. Trên máy thân chủ (client), JavaScript
sẽ xử lý các đáp ứng của máy chủ. Kết quả là trang web được hiển thị
nhanh hơn vì lượng dữ liệu trao đổi giữa máy chủ và trình duyệt web
giảm đi rất nhiều. Thời gian xử lý của máy chủ web cũng vì thế mà được
giảm theo vì phần lớn thời gian xử lý được thực hiện trên máy khách của
người dùng. Có thể xem xét một website nhiếp ảnh cho phép người
sử dụng nhập các tiêu đề như một ví dụ về cách làm việc của Ajax. Với
một ứng dụng web truyền thống, toàn bộ trang web bao gồm cả các ảnh cần
được nạp lại. Với các công nghệ Ajax, DHTML có thể thay thế chỉ những
đoạn tiêu đề và kết quả là người dùng có những giao dịch "mượt mà" đáng
quan tâm. Các trình duyệt hỗ trợ AJAX: - Apple Safari từ 1.2 trở lên - Konqueror - Microsoft Internet Explorer từ 4.0 trở lên - Mozilla/ Mozilla Firefox từ 1.0 trở lên - Netscape từ 7.1 trở lên - Opera từ 8.0 trở lên Công cụ: - Atlas, Toolkit Ajax của Microsoft - Dộ Toolkit, toolkit Ajax/ DHTML - Prototype, khôn khổ mã nguồn mở - Sajax, toolkit Ajax đơn giản 1 - Rialto (Rich Internet Application Toolkit) - ZK, Ajax nhưng không Javascript. Một số website sử dụng AJAX: http://www.flickr.com/ http://local.google.com/ http://www.live.com/ http://phpbasic.com/ Nguồn zensoft.vn
|