Bỏ qua

image

HTTP Header: Cầu nối thông tin trong giao tiếp client-server

1. HTTP Request & Response: Sự trao đổi thông điệp

  • HTTP request: Là yêu cầu mà client (trình duyệt, app, v.v.) gửi đến server để xin tài nguyên (dữ liệu, hình ảnh, API...).
  • HTTP response: Là phản hồi mà server gửi lại cho client sau khi xử lý xong yêu cầu.

Ví dụ:
Bạn mở trình duyệt vào một website → Trình duyệt gửi HTTP request đến server → Server trả về HTTP response gồm nội dung trang web.

2. HTTP Header là gì?

HTTP header là các dòng thông tin bổ sung (metadata) đi kèm mỗi yêu cầu (request) hoặc phản hồi (response), giúp truyền đạt các thông tin quan trọng giữa client và server.

  • Request header: Gửi từ client lên server (ví dụ: loại trình duyệt, loại dữ liệu gửi đi, thông tin xác thực…)
  • Response header: Server gửi ngược lại cho client (ví dụ: kiểu dữ liệu trả về, thời gian cache, thông báo lỗi, hướng dẫn đặc biệt…)

3. Vai trò của HTTP Header trong RESTful API

Khi xây dựng ứng dụng web hoặc API, header giúp: - Truyền thông tin về xác thực, phiên đăng nhập. - Chỉ định kiểu dữ liệu (JSON, XML, HTML, hình ảnh…). - Gửi hoặc nhận cookie. - Điều khiển cache, bảo mật, nén dữ liệu… - Truyền các tham số đặc biệt (token, ngôn ngữ, v.v.)

4. Cấu trúc một HTTP Header

Header gồm các dòng dạng:
Tên-header: giá trị

Ví dụ (Request):

GET /api/users HTTP/1.1
Host: api.example.com
Authorization: Bearer <token>
Content-Type: application/json
User-Agent: Mozilla/5.0

Ví dụ (Response):

HTTP/1.1 200 OK
Content-Type: application/json
Set-Cookie: sessionId=abc123
Cache-Control: no-cache
Access-Control-Allow-Origin: *

5. Một số HTTP Header phổ biến

Request Header

  • Host: Tên miền của server muốn truy cập.
  • User-Agent: Thông tin về trình duyệt hoặc ứng dụng.
  • Content-Type: Dữ liệu gửi đi là kiểu gì (application/json, text/html…)
  • Accept: Client muốn nhận kiểu dữ liệu nào.
  • Authorization: Thông tin xác thực (token, basic…)
  • Cookie: Gửi cookie lên server.

Response Header

  • Content-Type: Server trả về kiểu dữ liệu gì.
  • Set-Cookie: Gửi cookie mới cho client lưu lại.
  • Cache-Control: Hướng dẫn về cache (lưu tạm, không lưu…)
  • Location: Địa chỉ chuyển hướng (redirect).
  • Access-Control-Allow-Origin: Quy định CORS (cho phép nguồn nào truy cập API).
  • Content-Length: Độ dài dữ liệu trả về.

6. Vai trò quan trọng của HTTP Header

  • Đảm bảo giao tiếp đúng chuẩn giữa client và server.
  • Bảo mật (xác thực, kiểm soát truy cập).
  • Hiệu năng (nén dữ liệu, cache…).
  • Khả năng mở rộng (thêm các header tuỳ chỉnh cho ứng dụng/phần mềm đặc thù).

7. Ứng dụng thực tế

  • Khi xây dựng RESTful API, bạn thường dùng header để truyền token xác thực (Authorization), chỉ định kiểu dữ liệu (Content-Type), kiểm soát quyền truy cập (CORS), v.v.
  • Khi làm frontend, bạn cần đọc đúng các response header để biết cách xử lý dữ liệu hoặc hiển thị thông báo cho người dùng.

8. Kết luận

Hiểu rõ HTTP header là nền tảng quan trọng để xây dựng, vận hành và bảo mật các ứng dụng web hiện đại. Nắm vững các header phổ biến sẽ giúp bạn giao tiếp hiệu quả hơn giữa client và server, đồng thời tối ưu được trải nghiệm người dùng và bảo vệ hệ thống của mình.

Bình luận