Kiểu kiến trúc REST phù hợp với bộ đệm web

Một phần của tài liệu Tìm hiểu dịch vụ web RESTful và ứng dụng trong xây dựng hệ thống SMSGateway (Trang 39 - 40)

Phiên bản HTTP 1.1 có bốn phương thức chính cho các yêu cầu của máy trạm được đặt tên là GET, PUT, POST và DELETE( ngoài ra còn có các phương thức khác như HEAH, CONNECT hoặc TRACE tuy nhiên chúng ta không bàn luận các phương thức này ở đây). REST điều khiển tất cả các URI và các phương thức HTTP áp dụng với chúng. Nói một cách tổng quát hơn thì GET được xem như là hành động để đọc dữ liệu, PUT là hành động cập nhật dữ liệu, POST là hành động tạo mới dữ liệu và DELETE là hành động xóa dữ liệu, GET (cũng như HEAD) được xem là hành động an toàn vì nó không làm thay đổi dữ liệu nhưng các hành động còn lại nói một cách nào đó thì chúng làm thay đổi dữ liệu.

Lưu trữ nội dung của web cần gắn liền với các URI, các URI này được gán với các mục dữ liệu là một phần quan trọng của RESTful và ứng dụng phương thức HTTP GET. Dữ liệu cần phải được chuyển đến người dùng thông qua trình duyệt web và được lấy từ máy chủ web qua thao tác HTTP GET. Giữa máy trạm và máy chủ có thể có web proxy và bộ đệm web chứa các yêu cầu URI được hiện thị trong yêu cầu GET. Bộ đệm làm giảm băng thông sử dụng, và đặc biệt là giảm tải cho máy chủ, hiển thị tốt nhất đến người dùng. Có nhiều mô hình bộ đệm web được thực thi trong trình duyệt web và chính trong các máy trạm của chúng, như bộ đệm proxy(cái này yêu cầu cấu hình trong trình duyệt web), tất nhiên cũng có giao thức để quản lý nội dung của bộ đệm web như ICP(Internet Cache Protocol), HTCP (Hypertext Caching Protocol). Hơn nữa bộ đệm web có thể kết hợp làm việc cùng với nhau, điều này rất quan trọng khi khả năng mở rộng của dữ liệu phụ thuộc vào các dịch vụ. Giao thức HTTP có cơ chế để có thể điều khiển được bộ đệm cho phép bộ đệm cung cấp kết quả đến máy trạm mà không cần kiểm tra lại thông tin từ máy chủ. Cơ chế xác nhận được sử dụng trong bộ đệm để kiểm tra từ máy chủ thời gian quá hạn trong bộ đệm. Sau đó một tính năng quan trọng của mô hình kiến trúc RESTful đó là bộ đệm trở nên không hợp lệ. Điều này luôn xảy ra với các yêu cầu HTTP PUT/ POST/ DELETE được ứng dụng cho các URI tương ứng. Từ khi những yêu cầu thay đổi URI tương ứng bộ đệm có thể không thay đổi phiên bản tương ứng trả lại cho khách hàng

nếu HTTP GET được thiết kế để sử dụng như là một phương thức triệu gọi từ xa cho việc ghi dữ liệu thì bộ nhớ đệm sẽ xem như là đã có một kết quả trong đó cho URI và trả lại kết quả cũ. Điều này hoàn toàn đúng cho ứng dụng và dịch vụ logic. Kiểu kiến trúc REST thực thi ứng dụng web đưa ra sự hướng dẫn tốt cho người thiết kế và phát triển. Nó được hiểu như sự tự nhiên của web tuy nhiên không lạm dụng chúng. Nó cũng khuyến khích việc sự dụng kịch bản cho tất cả phiên người dùng xử lý dữ liệu cụ thể như là nội dung dựa vào kết quả theo kịch bản không lưu trữ đệm.

Một phần của tài liệu Tìm hiểu dịch vụ web RESTful và ứng dụng trong xây dựng hệ thống SMSGateway (Trang 39 - 40)