AJAX LÀ GÌ

AJAX LÀ GÌ

Nội dung chia sẻ: AJAX LÀ GÌ

AJAX LÀ GÌ? JavaScript, ngôn ngữ lập trình chạy trên trình duyệt đã quá quen thuộc với thế giới web kể từ khi Netscape phát minh ra nó. Sự phát triển của công nghệ và nhu cầu người sử dụng ngày càng cao buộc các nhà phát triển tạo ra một kĩ thuật khác cho phép xử lý các tác vụ phức tạp hơn. Tháng 2/2005, trên Internet bắt đầu lan truyền thuật ngữ Ajax như là một kỹ thuật mới cho ứng dụng web. Những thành công vang dội và sự hấp dẫn kì lạ của Gmail, Google Suggest và Google Maps đã khiến cho Ajax được chú ý một cách đặc biệt. Hầu hết các câu chuyện về nguồn gốc của AJAX được bắt đầu từ khi Microsoft phát triển công nghệ 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ông nghệ 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 là viết tắt của Asynchronous JavaScript and XML - kỹ thuật kết hợp hai tính năng mạnh của JavaScript được các nhà phát trển đánh giá rất cao : o Gửi yêu cầu (request) đến máy chủ mà không cần nạp lại trang o Phân tách và làm việc với XML Các ứng dụng Ajax xoay quanh một tính năng có tên là XMLHttpRequest. Các kĩ sư của dự án Mozilla bắt đầu hỗ trợ tính năng này ở bản Mozilla 1.0 (và Netscape 7). Apple cũng đã thực hiện một tính năng tương tự kể từ Safari 1.2. Ajax là sự phối hợp một loạt các công nghệ đang thu hút sự quan tâm của giới công nghiệp trong thời gian gần đây. Đó chính là : o Trình bày trang Web dựa trên XHTML và CSS, các chuẩn của W3C, được Firefox (Mozilla), Safari (Apple), Opera, Netscape 8.0 (nhân Firefox) hỗ trợ rất tốt; o Biểu diễn động và tương tác sử dụng Document Object Model, chuẩn của W3C; o Trao đổi và xử lý dữ liệu dùng XML và XSLT, chuẩn của W3C; o Thu hồi dữ liệu bất đối xứng dùng dùng XMLHttpRequest; o Dùng JavaScript để liên kết mọi thứ lại với nhau. JavaScript ở đây là ECMAScript, chuẩn của ECMA, không phải là JScript của Microsoft. 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ủ. Ajax cho phép tạo ra một Ajax Engine nằm giữa giao tiếp này. Đ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. Khi đó, các yêu cầu gửi resquest và nhận response do Ajax Engine thực hiện. Thay vì trả dữ liệu dưới dạng HTML và CSS trực tiếp cho trình duyệt, web server có thể gửi trả dữ liệu dạng XML và Ajax Engine sẽ tiếp nhận, phân tách và chuyển hóa thành XHTML+CSS cho trình duyệt hiển thị. Việc này được thực hiện trên client nên giảm tải rất nhiều cho server, đồng thời người sử dụng cảm thấy kết quả xử lý được hiển thị tức thì mà không cần nạp lại trang. Mặt khác, sự kết hợp của các công nghệ web như CSS và XHTML làm cho việc trình bày giao diện trang web tốt hơn nhiều và giảm đáng kể dung lượng trang phải nạp. Và 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". Tính không đồng bộ của các ứng dụng Ajax được thể hiện trong hình dưới đây. Những nhược điểm của AJAX AJAX có thể góp phần tạo nên một thế hệ mới cho ứng dụng web (như colr.org hay backpackit.com). Tuy nhiên, nó cũng là một công nghệ "nguy hiểm" khi gây ra không ít rắc rối về giao diện người dùng. Chẳng hạn, phím "Back" (trở lại trang trước) được đánh giá cao trong giao diện website chuẩn. Đáng tiếc, chức năng này không hoạt động ăn khớp với Javascript và mọi người không thể tìm lại nội dung trước đó khi bấm phím Back. Bởi vậy, chỉ một sơ xuất nhỏ là dữ liệu trên trang đã bị thay đổi và khó có thể khôi phục lại được. Đây là một trong những nguyên nhân chính khiến nhiều người không ủng hộ ứng dụng Javascript. Bên cạnh đó, mọi người không thể lưu lại địa chỉ web vào thư mục Favorite (Bookmark) để xem lại về sau. Do áp dụng lớp trung gian để giao dịch, các ứng dụng AJAX không có một địa chỉ cố định cho từng nội dung. Khiếm khuyết này làm cho AJAX dễ "mất điểm" trong mắt người dùng. Những trình duyệt hỗ trợ AJAX phải là các trình duyệt mới, hiện đại như Microsoft Internet Explorer 5.0 trở lên; browser dựa trên Gecko như Mozilla, Firefox, SeaMonkey, Epiphany, Galeon và Netscape 7.1; trình duyệt chứa KHTML API 3.2 trở lên như Konqueror, Apple Safari. Các trang Web có sử dụng AJAX : Google Maps Client MAP interface Google Map Server OGC WFS Feature Data Server Sự hồi sinh của Ajax trong vài tháng gần đây một phần nhờ những ứng dụng cải tiến của Google trong quá trình xây dựng bản đồ online. Trước đây, sơ đồ thường là tĩnh: người xem bấm vào mũi tên trái, đợi vài giây để trang web tải nội dung và dịch chuyển hình ảnh sang trái. Quá trình cứ lặp đi lặp lại như thế một cách chậm chạp và gây khó chịu cho nhiều người. Với Google Maps, người dùng có thể kéo bản đồ theo bất cứ hướng nào, xem khu vực mới nhanh chóng, và phóng to, thu nhỏ dễ dàng khi kéo con trượt Ajax. Một ví dụ khác là dịch vụ web mail. Khách hàng, sau khi xem nội dung, sẽ bấm vào một phím trên giao diện nếu muốn xóa thông tin. Máy chủ mail từ xa nhận lệnh và phản hồi lại bằng với một trang mới đã bỏ đi những phần bị xóa. Yahoo đang thử nghiệm một giao diện mới sử dụng công nghệ Ajax. Khi ta xóa một mục nào đó, và Ajax sẽ cấu hình lại trang tức thì mà không cần đợi phản hồi. Hơn nữa, khi mở một thông điệp để đọc, trình duyệt chỉ hiển thị nội dung, bởi người sử dụng đã biết tiêu đề thư và không cần phải lãng phí thời gian nhân đôi dữ liệu tải xuống nữa. Hãng dịch vụ trực tuyến lớn nhất thế giới cũng đang xây dựng một công cụ Ajax có thể nhanh chóng cập nhật thông tin khi khách hàng lựa chọn sân bay, chuyến bay, thời gian. Hãng AOL, cơ quan chủ quản của CNN.com, bắt đầu sử dụng Ajax từ mùa hè qua, cho phép khách hàng sắp xếp lại, chọn hiển thị và chuyển đổi album ảnh chỉ với một vài thao tác nhấn chuột. Tuần trước, công ty MarketWatch (Mỹ) đã quyết định cung cấp bản tin bao gồm những trích dẫn chứng khoán được cập nhật liên tục mỗi giây, với màu xanh và đỏ nhấp nháy khi giá dao động. Microsoft cũng ứng dụng Ajax trong bản cập nhật Hotmail và đang xây dựng chương trình mới hỗ trợ sự phát triển Ajax. Công nghệ thay thế XAML sẽ cho phép nhiều ứng dụng phong phú hơn hoạt động trên trình duyệt. Nhưng không như Ajax, nó chỉ chạy trên máy tính Windows. Tuy vậy, Ajax chưa thể thực hiện tất cả mọi thứ. Những ứng dụng phụ thuộc nhiều vào máy tính cố định như Photoshop của Adobe sẽ không xuất hiện sớm trên trình duyệt. Ngay cả Google cũng phải tạo một phần mềm bản đồ trên desktop (Google Earth) và yêu cầu tải chương trình về để có thể hiển thị hình ảnh 3D và thực hiện một số tính năng cải tiến khác. Hơn nữa, ứng dụng web đòi hỏi phải liên tục kết nối với Internet, khiến công việc trên sẽ trở nên khó khăn nếu bị gián đoạn. Bảo mật trong Ajax Công nghệ AJAX ẩn chứa những lỗ hổng nghiêm trọng Các ứng dụng AJAX xuất hiện ngày một nhiều đồng nghĩa với việc doanh nghiệp và người sử dụng phải đương đầu với những nguy cơ bảo mật mới. Tuy nhiên, các chuyên gia phát triển có vẻ không nhận thức đầy đủ về mối hiểm họa này. “Thông thường, tấn công một ứng dụng qua lớp web dễ hơn nhiều so với việc cố xuyên qua tường lửa hoặc tìm đường vòng tránh các hệ thống chống xâm nhập”, Billy Hoffman, Trưởng nhóm nghiên cứu thuộc công ty bảo mật Spi Dynamics (Mỹ), cho hay. Đối với người sử dụng, AJAX là phương pháp lập trình giúp website hoạt động nhanh và mang tính tương tác hơn. Google đã giới thiệu công cụ AJAX cho phép người dùng tích hợp kết quả tìm kiếm trực tiếp ngay trên.

truyện kiếm hiệp audio