Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HTTP Là Gì? Giao Thức Đằng Sau Mọi Trang Web Bạn Truy Cập Mỗi Ngày

    HTTP Là Gì? Giao Thức Đằng Sau Mọi Trang Web Bạn Truy Cập Mỗi Ngày


    Mỗi khi bạn mở một website, đăng nhập Facebook, xem YouTube hay gọi API từ một ứng dụng, hàng chục đến hàng trăm gói tin HTTP đang được trao đổi trong nền mà bạn hầu như không hề nhận ra. HTTP chính là giao thức nền tảng của World Wide Web và là một trong những kiến thức quan trọng nhất đối với mọi kỹ sư mạng, hệ thống và bảo mật.

    HTTP là gì?


    HTTP (Hypertext Transfer Protocol) là giao thức hoạt động ở tầng Application (Layer 7) của mô hình OSI, được sử dụng để trao đổi dữ liệu giữa client (trình duyệt web, ứng dụng di động, API client...) và web server.

    HTTP hoạt động theo mô hình Request – Response:
    • Client gửi một HTTP Request đến máy chủ.
    • Server xử lý yêu cầu.
    • Server trả về một HTTP Response chứa dữ liệu hoặc thông báo lỗi.

    Tài nguyên được yêu cầu có thể là:
    • Trang HTML
    • Hình ảnh
    • Video
    • File CSS, JavaScript
    • JSON/XML từ REST API
    • Hoặc bất kỳ dữ liệu nào được web server cung cấp.

    HTTP Request gồm những gì?


    Một HTTP Request thường bao gồm các thành phần sau.

    HTTP Method


    Cho biết client muốn thực hiện thao tác gì trên tài nguyên.

    Các phương thức phổ biến gồm:
    • GET: Lấy dữ liệu từ server.
    • POST: Gửi dữ liệu lên server để tạo mới tài nguyên.
    • PUT: Cập nhật hoặc thay thế toàn bộ tài nguyên.
    • PATCH: Chỉ cập nhật một phần dữ liệu.
    • DELETE: Xóa tài nguyên trên server.

    Ví dụ:
    GET /index.html HTTP/1.1

    Trình duyệt yêu cầu server gửi trang index.html.
    Request URL


    Xác định chính xác tài nguyên mà client muốn truy cập.

    Ví dụ:


    URL này cho biết server cần trả về nội dung của trang CCNP.
    Headers


    Header chứa các thông tin bổ sung giúp server hiểu rõ hơn về yêu cầu của client.

    Ví dụ:
    • User-Agent
    • Host
    • Accept
    • Content-Type
    • Authorization
    • Cookie

    Ví dụ:
    User-Agent: Chrome
    Content-Type: application/json
    Authorization: Bearer xxxxxxxxx

    Trong thực tế, các firewall và Web Application Firewall (WAF) thường phân tích các Header này để áp dụng chính sách bảo mật hoặc phát hiện các cuộc tấn công.
    Body (không bắt buộc)


    Một số phương thức như POST, PUT hoặc PATCH sẽ mang dữ liệu trong phần Body.

    Ví dụ khi người dùng đăng nhập:
    {
    "username":"admin",
    "password":"Cisco123"
    }

    Server sẽ đọc dữ liệu này để xử lý yêu cầu.
    HTTP Response gồm những gì?


    Sau khi xử lý Request, web server sẽ gửi lại một HTTP Response. Status Line


    Cho biết kết quả xử lý yêu cầu.

    Ví dụ:
    HTTP/1.1 200 OK

    Bao gồm:
    • Phiên bản HTTP
    • Status Code
    • Thông điệp trạng thái

    Một số mã trạng thái phổ biến:
    • 200 OK – Thành công.
    • 201 Created – Tạo tài nguyên thành công.
    • 301 Moved Permanently – Chuyển hướng vĩnh viễn.
    • 302 Found – Chuyển hướng tạm thời.
    • 400 Bad Request – Yêu cầu không hợp lệ.
    • 401 Unauthorized – Chưa được xác thực.
    • 403 Forbidden – Có xác thực nhưng không đủ quyền.
    • 404 Not Found – Không tìm thấy tài nguyên.
    • 500 Internal Server Error – Lỗi phía server.

    Response Headers


    Server gửi thêm các thông tin như:
    • Content-Type
    • Content-Length
    • Server
    • Cache-Control
    • Set-Cookie

    Ví dụ:
    Content-Type: text/html
    Server: Apache

    Các Header này giúp client biết cách xử lý nội dung nhận được.
    Body


    Nếu có dữ liệu cần trả về, phần Body sẽ chứa nội dung đó.

    Có thể là:
    • Trang HTML
    • File ảnh
    • Video
    • JSON
    • XML
    • PDF
    • Hoặc bất kỳ loại dữ liệu nào khác.

    Ví dụ:
    {
    "status":"success",
    "username":"admin"
    }
    Ví dụ thực tế


    Khi bạn truy cập:


    Quá trình diễn ra như sau:
    1. Trình duyệt gửi HTTP GET Request đến web server.
    2. Server kiểm tra yêu cầu và tìm trang chủ.
    3. Server trả về HTTP 200 OK cùng nội dung HTML.
    4. Trình duyệt tiếp tục gửi thêm nhiều Request khác để tải hình ảnh, CSS, JavaScript và các tài nguyên liên quan.

    Vì một trang web hiện đại thường bao gồm rất nhiều thành phần, nên chỉ một lần mở trang có thể phát sinh hàng chục, thậm chí hàng trăm Request và Response.
    HTTP và HTTPS


    HTTP truyền dữ liệu ở dạng không mã hóa (plaintext), vì vậy thông tin có thể bị đọc hoặc thay đổi nếu bị chặn trên đường truyền.

    Để khắc phục điều này, hầu hết các website hiện nay sử dụng HTTPS, tức là HTTP kết hợp với TLS (Transport Layer Security) để mã hóa dữ liệu giữa client và server. Nhờ đó, thông tin đăng nhập, dữ liệu giao dịch và nội dung trao đổi được bảo vệ khỏi nguy cơ nghe lén hoặc giả mạo.
    Tóm tắt


    HTTP là giao thức nền tảng của mọi ứng dụng web hiện đại, hoạt động theo mô hình Request – Response giữa client và web server. Một HTTP Request bao gồm Method, URL, Headers và (nếu cần) Body, trong khi HTTP Response chứa Status Line, Headers và Body. Hiểu rõ cấu trúc của Request và Response không chỉ giúp xây dựng ứng dụng web mà còn là kiến thức thiết yếu khi phân tích lưu lượng mạng bằng Wireshark, troubleshooting dịch vụ web, triển khai API và điều tra các sự cố bảo mật trong môi trường doanh nghiệp.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X