Nội dung bài viết
#

HTTP Header là gì? Ví dụ về các trường Request Header

Nội dung bài viết

    World wide web sử dụng giao thức HTTP để xác định thông điệp được định dạng, truyền tải cũng như các hành động mà web server cần phản hồi. Trong đó HTTP Header là phần đầu tiên của HTTP. Bài viết hôm nay BKHOST sẽ cùng các bạn tìm hiểu về HTTP Header và một số ví dụ về các trường header request có thể có.

    HTTP Header là gì?

    HTTP Header la gi

    HTTP Header là một phần của Giao thức truyền siêu văn bản (HTTP) và truyền thông tin bổ sung trong các request hoặc phản hồi HTTP. Thông qua server web của trang web được gọi mà dữ liệu được gửi tới trình duyệt, thông qua HTTP Header mà server và trình duyệt trao đổi thông tin meta về tài liệu.

    HTTP request chứa header có thông tin như ngày request, liên kết giới thiệu hoặc ngôn ngữ ưa thích. Phản hồi HTTP cũng chứa trường header trong đó thông tin của nó được gửi tới trình duyệt của người dùng qua server. Đối với người dùng cuối thì trao đổi thông tin này thường là vô hình.

    Các HTTP Header bao gồm các trường, mỗi trường bao gồm một dòng. Mỗi dòng chứa một cặp tên/giá trị – được gọi là cặp khóa-giá trị – được phân tách bằng dấu hai chấm và kết thúc bằng dấu ngắt dòng.

    Các giá trị có thể được sử dụng cho HTTP Header được xác định trong RFC. Ngoài các trường được chỉ định, còn có các header không chuẩn có thể được sử dụng để thêm thông tin do người dùng xác định. Các header này thường bắt đầu bằng phần mở rộng x-.

    Ví dụ về các trường Request Header

    Dưới đây là một số ví dụ về các trường Request Header có thể có.

    Accept Fields

    Để chỉ định loại phản hồi nào được server chấp nhận thì các trường sau đây được sử dụng:

    Accept

    Trường này thông báo cho server loại dữ liệu nào có thể được trả về.

    Trường Accept trong request HTTP có thể được sử dụng để chỉ định các loại MIME nhất định được client chấp nhận. Cú pháp chung như sau:

    {{EJS0}}

    Nhiều loại phương tiện có thể được phân tách bằng dấu phẩy. Giá trị tùy chọn q biểu thị mức chất lượng trên thang điểm từ 0 đến 1. Ví dụ:

    {{EJS1}}

    Các chỉ thị có sẵn:

    • client hỗ trợ chính xác một loại MIME, chẳng hạn như văn bản/html:
    {{EJS2}}
    • MIME không có loại phụ được chỉ định. image/* khớp với image/png, image/svg, image/gif và tất cả các loại hình ảnh khác: /*.
    {{EJS3}}
    • Bất kỳ loại MIME nào:
    {{EJS4}}

    Mỗi giá trị được sử dụng được đưa vào một thứ tự ưu tiên được biểu thị bằng cách sử dụng giá trị chất lượng tương đối được gọi là trọng số:

    {{EJS5}}

    Accept-Charset

    Trường này được sử dụng trong các HTTP Header để chỉ định bộ ký tự nào mà client chấp nhận cho phản hồi.

    {{EJS6}}

    Nếu một số bộ ký tự được chỉ định, hãy nhập chúng cách nhau bằng dấu phẩy. Ví dụ:

    {{EJS7}}

    Accept-Encoding

    Trường này giới hạn các thuật toán mã hóa được chấp nhận trong phản hồi. Cú pháp:

    {{EJS8}}

    Ví dụ:

    {{EJS9}}

    Accept-Language

    Trường header Accept-Language cho server biết ngôn ngữ mà con người có thể đọc được mà server dự kiến ​​sẽ trả về. Đây là một dấu hiệu và không nhất thiết phải được kiểm soát hoàn toàn bởi người dùng. Server phải luôn tránh ghi đè lựa chọn rõ ràng của người dùng. Cú pháp là:

    {{EJS10}}

    Nhiều ngôn ngữ có thể được phân tách bằng dấu phẩy. Ví dụ:

    {{EJS11}}

    Có thể tra cứu các giá trị được phép trong RFC 1766.

    Authorization

    Trường Authorization được sử dụng trong HTTP Header để xác thực tác nhân người dùng với server. Cú pháp như sau:

    {{EJS12}}

    Cookie

    header request HTTP Cookie chứa các cookie HTTP được lưu trữ trong các cặp tên/giá trị được server gửi trước đó bằng header Set-Cookie. Hành vi này có thể bị chặn bởi các trình duyệt để không có cookie nào được truyền đến server.

    {{EJS13}}

    Expect

    Trường header request HTTP Mong đợi chỉ định các kỳ vọng của client mà server phải đáp ứng để request được xử lý đúng cách.

    Cú pháp chung như sau:

    {{EJS14}}

    From

    Trường From của HTTP Header chứa địa chỉ email của người dùng kiểm soát ứng dụng khách request. Thí dụ:

    {{EJS15}}

    Trường From có thể được sử dụng trong các HTTP Header cho mục đích ghi nhật ký.

    Host

    Trường server được sử dụng trong các HTTP Header để chỉ định server internet và số cổng cho tài nguyên được request. Cú pháp là:

    {{EJS16}}

    Nếu số cổng bị thiếu, điều này có nghĩa là cổng mặc định 80.

    If Fields

    Các trường sau đây được sử dụng để chỉ định các điều kiện nhất định theo đó các tệp được request sẽ được trả về.

    If-Match

    Trường header này nhắc server chỉ gửi tệp được request nếu nó khớp với các thẻ thực thể được chỉ định. Cú pháp là:

    {{EJS17}}

    Ví dụ:

    {{EJS18}}

    Dấu hoa thị (*) cho biết có thể gửi bất kỳ tệp nào.

    If-Modified-Since

    If-Modified-Since được chỉ định trong HTTP Header, tài nguyên được request sẽ chỉ được server phân phối nếu nó đã được thay đổi kể từ ngày được chỉ định. Nếu không, sẽ không có giao hàng và trang sẽ được tải từ bộ đệm của trình duyệt. Cú pháp:

    {{EJS19}}

    Ví dụ:

    {{EJS20}}

    If-None-Match

    Trường này nhắc server chỉ gửi tệp được request nếu nó không khớp với bất kỳ thẻ thực thể nào được chỉ định. Cú pháp là:

    {{EJS21}}

    Ví dụ:

    {{EJS22}}

    If-Range

    Trường header If-Range được sử dụng trong các HTTP Header để chỉ request một phần nội dung bị thiếu nếu nội dung chưa được thay đổi và toàn bộ nội dung nếu một thay đổi đã được thực hiện đối với nó. Cú pháp như sau:

    {{EJS23}}

    Có thể sử dụng thẻ thực thể hoặc ngày:

    {{EJS24}}

    Nếu nội dung chưa được thay đổi, server sẽ trả về phạm vi byte được chỉ định bởi header phạm vi. Nếu không, toàn bộ tài liệu mới được trả lại.

    If-Unmodified-Since

    Cú pháp chung là:

    {{EJS25}}

    Trường này được sử dụng giống như trường If-Modified-Since field.

    Proxy-Authorization

    Trường header Proxy-Authorization cho phép client xác định chính nó hoặc người dùng với proxy. Cú pháp:

    {{EJS26}}

    Range

    Trường header Phạm vi chỉ định các phạm vi phụ của nội dung được request. Cú pháp là:

    {{EJS27}}

    Các giá trị “first-byte-pos” và “last-byte-pos” chỉ định byte đầu tiên và byte cuối cùng của nội dung được bao gồm nhưng không nhất thiết phải được chỉ định cả hai. Nhiều khu vực nội dung có thể được phân tách bằng dấu phẩy.

    Referrer

    Trường header Người giới thiệu cho phép khách hàng chỉ định địa chỉ (URL) của tài nguyên mà URL được request từ đó. Cú pháp chung như sau:

    {{EJS28}}

    Ví dụ:

    {{EJS29}}

    User-Agent

    Trường header này gửi thông tin về client đến server. Ví dụ, cú pháp có thể như sau:

    {{EJS30}}

    Tổng kết về HTTP Header

    Qua bài viết trên Bkhost hy vọng đã giúp các bạn hiểu hơn về HTTP Header cũng như các trường header của HTTP Header.

    Nếu còn gặp bất cứ vướng mắc gì về HTTP Header hoặc muốn tìm hiểu thêm những thông tin khác về HTTP, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

    P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

    Mua Hosting tại BKHOST

    Khuyến mãi giảm giá cực sâu, chỉ từ 5k/tháng. Đăng ký ngay hôm nay:

    web hosting

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận
    Trượt lên đầu trang
    Miễn phí cước gọi
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !