+1

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:

Ý 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

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí