icon picker
RESTful WebService

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

2xx → Success
200 → OK
201 → Created
3xx → Redirection
304 → Not modified
4xx → Client Error
403 → Forbidden
404 → Not found
5xx → Server Error
503 → Service Unavailable
504 → Gateway Timeout
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

Request
Chưa các thông tin như
Phương thức HTTP: GET, POST, ...
URI của resource
Ngôn ngữ, host, cookie, jwt và nhiều thứ khác
Chưa data trong req.body
Response
Status code của res
Thông tin của server
Data nằm trong res.data
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
POST: Giống PUT
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
TRACE
OPTIONS
CONNECT
PATCH

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:
URI của webservice
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.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.