HTTP (Hypertext Transfer Protocol)
HTTP (Hypertext Transfer Protocol) là giao thức truyền tải siêu văn bản, được sử dụng để giao tiếp giữa các máy khách (client) và máy chủ (server) trên Internet. HTTP là nền tảng của mọi trao đổi dữ liệu trên Web, cho phép người dùng truy cập các trang HTML, tài nguyên web, và API.
Là một kỹ sư DevOps, bạn cần hiểu rõ về HTTP request, các phương thức HTTP request khác nhau và cách chúng hoạt động.
HTTP Methods
Một HTTP request là một thông điệp từ client gửi đến server để yêu cầu truy cập một tài nguyên.
Dưới đây là các phương thức HTTP phổ biến:
Phương thức | Mô tả | Ví dụ |
---|---|---|
GET | Lấy dữ liệu của một đối tượng. | GET /users/1 (Lấy thông tin người dùng có ID 1) |
HEAD | Giống GET, nhưng không có phần thân phản hồi. | HEAD /users/1 (Chỉ lấy metadata của user 1) |
POST | Gửi dữ liệu mới lên server. | POST /users (Tạo một người dùng mới) |
PUT | Ghi đè hoàn toàn một đối tượng. | PUT /users/1 (Cập nhật toàn bộ thông tin người dùng có ID 1) |
PATCH | Cập nhật một phần của đối tượng. | PATCH /users/1 (Cập nhật một số thuộc tính của user 1) |
OPTIONS | Kiểm tra các phương thức có sẵn trên server. | OPTIONS /users (Xác định các phương thức có thể sử dụng với tài nguyên users ) |
DELETE | Xóa một đối tượng. | DELETE /users/1 (Xóa người dùng có ID 1) |
HTTP Response Codes
Mã phản hồi HTTP cho biết liệu một yêu cầu có thành công hay không. Các mã phản hồi HTTP được chia thành 4 nhóm chính:
Mã | Ý nghĩa | Mô tả |
---|---|---|
200 | OK | Yêu cầu thành công. |
302, 307 | Found, Temporary Redirect | URL tài nguyên đã thay đổi tạm thời. |
301, 308 | Moved Permanently | URL tài nguyên đã thay đổi vĩnh viễn. |
400 | Bad Request | Server không hiểu yêu cầu do lỗi cú pháp. |
401 | Unauthorized | Cần xác thực trước khi gửi yêu cầu. |
403 | Forbidden | Không có quyền truy cập tài nguyên. |
404 | Not Found | Tài nguyên không tồn tại. |
408 | Request Timeout | Kết nối bị gián đoạn do client không phản hồi. |
418 | I am a Teapot | Lỗi thử nghiệm, server từ chối pha cà phê. |
500 | Internal Server Error | Lỗi phía server, không xác định được nguyên nhân. |
502 | Bad Gateway | Server trung gian nhận phản hồi không hợp lệ từ server nguồn. |
503 | Service Unavailable | Server quá tải hoặc đang bảo trì. |
504 | Gateway Timeout | Server trung gian không nhận phản hồi kịp thời từ server nguồn. |
HTTP Headers
HTTP Headers giúp client và server trao đổi thêm thông tin, hỗ trợ xác thực, cache dữ liệu và kiểm soát traffic.
Các loại HTTP Headers:
Loại Header | Mô tả | Ví dụ |
---|---|---|
General Header | Áp dụng cho cả request và response. | Connection: keep-alive |
Request Header | Chỉ áp dụng cho yêu cầu từ client. | Authorization: Bearer <token> |
Response Header | Chỉ áp dụng cho phản hồi từ server. | Server: nginx |
Entity Header | Mô tả về nội dung tài nguyên. | Content-Type: application/json |
Ví dụ về Request HTTP
Một request GET đơn giản đến API:
GET /users/1 HTTP/1.1
Host: example.com
Authorization: Bearer abc123
Accept: application/json
Ví dụ về Response HTTP
Server phản hồi với dữ liệu JSON:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 85
{
"id": 1,
"name": "Nguyen Van A",
"email": "nguyenvana@example.com"
}
Việc hiểu và sử dụng HTTP hiệu quả là rất quan trọng đối với DevOps, giúp tối ưu hóa giao tiếp giữa các dịch vụ, giám sát và khắc phục sự cố mạng.
All rights reserved