Giao thức HTTP (Hypertext transfer protocol)
HTTP hoạt động trên cơ chế request - response trong mô hình client - server.
Cách thức hoạt động là client sẽ gửi request (yêu cầu) về một tài nguyên của server, và server sẽ trả một response tương ứng với request của use.
URI
URI (uniform resource identifier) là chuỗi để xác định một tài nguyên trên mạng internet (giống địa chỉ nhà vậy) URI gồn 2 thành phần là URL và URN URL (uniform resource locator) là phần của URI cho biết sự tồn tại của tài nguyên, nơi chứa và cách thức để nhận tài nguyên đó. Đó thường là ip của host hoặc domain name của máy tính. URN (uniform resource name) là phần tên của tài nguyên, độc lập với tên của vị trí lưu trữ. HTTP Status code
503 → Service Unavailable HTTP status code là cách để nhân biết tình trang của response.
Cấu tạo của request và response
Chưa các thông tin như
Phương thức HTTP: GET, POST, ... Ngôn ngữ, host, cookie, jwt và nhiều thứ khác Các phương thức chính của HTTP gồm HEAD: Giống GET nhưng chỉ lấy phần header của tài nguyên, để tính toán size ... GET : Được sử dụng nhiều nhất, dùng để lấy tài nguyên PUT: Dùng để cập nhật hoặc tạo mới tài nguyên DELETE: Dùng để xoá tài nguyên REST
Là một dạng kiến trúc phần mềm định nghĩa các quy tắc để tạo nên WebService. Webservice được làm dựa trên nguyên lý của REST gọi là RESTfull WebService, cho phép truy cập vào thao tác với các biểu diễn (REpresentation) của tài nguyên bằng các phương thức stateless. Client khi nhận một thể hiện của tài nguyên sẽ mang một trang thái (State) và khi nhận một tài nguyên khác sẽ mang một trạng thái khác, đây là (Transfer) → REST
VD: Client là trình duyệt web khi gọi tới URI thì sẽ nhận một biểu diễn của tài nguyên ccnlthd.html nó sẽ đưa trình duyệt vào một trạng thái (state), biểu diễn này cũng chưa liên kết tới các biểu diễn khác , khi người dùng gọi tới các liên kết này, trình duyệt web sẽ thay đổi state ứng với các biểu diễn đó → transfer. Từ đó ta thấy các đặc điểm của REST là
Mang kiến trúc client - server. Phân tách client (dùng để hiển thị, thao tác dữ liệu) và server (nơi thực sự lưu dữ liệu) với nhau. Cho phép phát triển các phần này một cách riêng biệt. Client sẽ là người xử lý trạng thái, mọi yêu cầu từ client phải có đủ thông tin để server hiểu được trạng thái của client mà không cần lưu thông tin gì thêm trước đó → Stateless. Tài nguyên được truy cập thông qua một interface thông nhất, thay đổi chỉ là phương thức với tài nguyên đó (GET, POST, PUT, DELETE ...) Ngoài ra nó còn có các đặt điểm như
Cached : Cho phép ta dán nhãn các tài nguyên, xem xét tài nguyên nào có thể dùng lại, để không phải mất công IO nữa Hệ thông có thể mở rộng dễ dàng, ta có thể thêm các lớp như proxy, cached server, gateway ... mà client và server có thể sẽ không cần quan tâm nó đang liên kết với ai. RESTful Webservice
Là WS đơn giản sử dụng HTTP và mang tính chất của REST.
Một tập tài nguyên sẽ có các thành phần sau:
MIME type: kiểu dữ liệu khai thác JSON (application/json), XML (application/xml or text/xml) Hành động với resource đó dựa trên HTTP method (GET, PUT, POST, DELETE) VD: GET → lấy tất cả categories GET → lấy thông tin về categories có id 1 ... POST → thêm một categories.