Phát triển

Các trường Header trong HTTP response

Lê Hoàng 19-03-2024
Các trường Header trong HTTP response

Trong bài viết trước, chúng ta đã tìm hiểu về HTTP Header và một số trường cho phép của HTTP request. Trong cùng một cặp đối tượng đi kèm với request đó là response, trong một phản hồi của HTTP cũng sẽ có một số các trường Header tương tự như request. Tại đây, Stringee và các bạn sẽ cùng đi tìm hiểu chúng nhé.

  • Trường Accept-Ranges

Trường này cho phép Server chỉ sự chấp nhận của nó về các dãy yêu cầu cho một nguồn. Cú pháp chung là:

Accept-Ranges: <range-unit>
Accept-Ranges: none
  • Trường Age

Trường Age chuyển tính toán về số lượng thời gian từ khi phản hồi được tạo ra tại Server ban đầu của người gửi. Cú pháp chung là:

Age: <delta-seconds>

Giá trị này là các số nguyên thập phân không phủ định, biểu diễn thời gian bằng giây.

  • Trường ETag

Trường Etag cung cấp giá trị hiện tại của thẻ đối tượng cho biến thể được yêu cầu. Cú pháp chung là:

ETag: W/"<etag_value>"
ETag: "<etag_value>"
  • Trường Location

Trường Location được sử dụng để điều hướng lại người nhận tới một vị trí khác ngoài Request-URI. Nó sẽ xác nhận vị trí ban đầu của đối tượng được bao gồm trong yêu cầu gửi đi. Cú pháp chung là:

Location: /index.html
  • Trường Proxy-Authenticate

Được coi như là một phần của phản hồi 407. Cú pháp chung là:

Proxy-Authenticate: <type> realm=<realm>
  • Trường Retry-After

Được sử dụng với một phản hồi 503 để chỉ rằng dịch vụ không có sẵn trong vòng bao lâu cho Client đang gửi yêu cầu. Cú pháp chung là:

Retry-After: <http-date>
Retry-After: <delay-seconds>
  • Trường Server

Trường này chứa thông tin về phần mềm được sử dụng bởi Server ban đầu để kiểm soát yêu cầu. Cú pháp chung là:

Server: <product>

>>> Xem thêm bài viết:

HTTP là gì? Tìm hiểu về giao thức HTTP và HTTPS

HTTP request là gì? Các phương thức HTTP request

Hướng dẫn cài đặt unix linux 

  • Trường Set-Cookie

Trường này chứa một cặp tên/giá trị của thông tin để giữ lại cho URL. Cú pháp chung là:

Set-Cookie: <cookie-name>=<cookie-value>
Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>
Set-Cookie: <cookie-name>=<cookie-value>; Expires=<date>
Set-Cookie: <cookie-name>=<cookie-value>; HttpOnly
Set-Cookie: <cookie-name>=<cookie-value>; Max-Age=<number>
Set-Cookie: <cookie-name>=<cookie-value>; Partitioned
Set-Cookie: <cookie-name>=<cookie-value>; Path=<path-value>
Set-Cookie: <cookie-name>=<cookie-value>; Secure

Set-Cookie: <cookie-name>=<cookie-value>; SameSite=Strict
Set-Cookie: <cookie-name>=<cookie-value>; SameSite=Lax
Set-Cookie: <cookie-name>=<cookie-value>; SameSite=None; Secure

// Multiple attributes are also possible, for example:
Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>; Secure; HttpOnly

Trường phản hồi Set-Cookie bao gồm Set-Cookie dấu hiệu, được theo sau bởi một danh sách được phân biệt bằng dấu phẩy của một hoặc nhiều cookie. Ở đây là các giá trị có thể mà bạn có thể xác định như là các tính năng:

STT

Các tính năng và Miêu tả

1

Comment=comment

Tính năng này có thể được sử dụng để xác định bất cứ lời bình nào liên kết với cookie.

2

Domain=domain

Thuộc tính Domain xác định miền mà với nó cookie là có hiệu lực.

3

Expires=Date-time

Ngày mà cookie sẽ hết hạn. Nếu nó là trống, cookie sẽ hết hạn khi khách sử dụng rời khỏi trình duyệt.

4

Path=path

Thuộc tính path xác định bộ thiết lập phụ của các URL mà cookie này áp dụng.

5

Secure

Nó chỉ dẫn user agent để trả lại cookie chỉ ở dưới dạng một kết nối an toàn.

  • Trường Vary

Trường Vary xác định rằng đối tượng có nhiều nguồn và vì thế có thể theo nhiều cách để tới một danh sách yêu cầu đã được xác định. Sau đây là cú pháp chung:

Vary: *
Vary: <header-name>, <header-name>, ...
  • Trường Content-Encoding

Trường này được sử dụng như một bộ chỉnh sửa tới kiểu phương tiện. Cú pháp chung là:

Content-Encoding : content-coding

Mã hóa nội dung là một thuộc tính của một đối tượng được xác định bởi Request-URI. Sau đây là một ví dụ đơn giản:

Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: br

// Multiple, in the order in which they were applied
Content-Encoding: deflate, gzip

Nếu nội dung của đối tượng không được chấp nhận thì server sẽ trả về mã trạng thái là 415.

  • Trường Content-Language

Trường này miêu tả các ngôn ngữ tự nhiên của người đọc đã dự định cho đối tượng đã bao gồm. Sau đây là cú pháp chung:

Content-Language : language-tag
  • Trường Content-Length

Trường này chỉ dẫn kích cỡ của phần thân đối tượng, trong số thập phân của hệ 8, được gửi tới người nhận hoặc, trong trường hợp của phương thức HEAD, kích cỡ của phần thân đối tượng mà sẽ được gửi, có yêu cầu là một GET. Cú pháp chung là:

Content-Length: <length>
  • Content-Length : DIGITS

Sau đây là một ví dụ đơn giản:

Content-Length: 3495

Bất kỳ Content-Length nào lớn hơn hoặc bằng là một giá trị có hiệu lực.

  • Trường Content-Location

Trường này có thể được sử dụng để cung cấp vị trí nguồn cho đối tượng được bao gồm trong thông báo khi đối tượng đó là có thể truy cập từ một vị trí riêng biệt từ một URI của nguồn được yêu cầu. Cú pháp chung là:

Content-Location: <url>

Sau đây là một ví dụ đơn giản:

Content-Location: http://www.tutorialspoint.org../http/index.jsp

  • Trường Content-Range

Trường này được gửi với một phần thân thực thể nội bộ để xác định nơi trong toàn bộ phần thân đối tượng mà phần thân nội bộ nên được áp dụng. Cú pháp chung là:

Content-Range: <unit> <range-start>-<range-end>/<size>
Content-Range: <unit> <range-start>-<range-end>/*
Content-Range: <unit> */<size>
  • Trường Content-Type

Trường này chỉ dẫn kiểu phương tiện của phần thân đối tượng được gửi tới người nhận hoặc, trong trường hợp phương thức HEAD, kiểu phương tiện mà sẽ được gửi, có yêu cầu là GET. Cú pháp chung là:

Content-Type : media-type
  • Trường Expires

Trường này cung cấp Ngày/Thời gian sau đó phản hồi được cho là hết hạn. Cú pháp chung:

Expires : HTTP-date
  • Trường Last-Modified

Trường này chỉ ngày và thời gian tại đó Server ban đầu tin rằng sự biến đổi được chỉnh sửa lần cuối. Cú pháp chung là:

Last-Modified: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT

Kết bài

Qua bài viết trên, mong các bạn đã hiểu về HTTP Header cũng như các trường Header của HTTP Request. Stringee còn rất nhiều các bài viết hay khác liên quan đến HTTP các bạn có thể tham khảo thêm tại đây:

HTTP là gì? Tìm hiểu về giao thức HTTP và HTTPS

HTTP request là gì? Các phương thức HTTP request

Hướng dẫn cài đặt Unix/linux 


Stringee Communication APIs là giải pháp cung cấp các tính năng giao tiếp như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài CSKH cho phép tích hợp trực tiếp vào ứng dụng/website của doanh nghiệp nhanh chóng. Nhờ đó giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.

Bộ API giao tiếp của Stringee hiện đang được tin dùng bởi các doanh nghiệp ở mọi quy mô, lĩnh vực ngành nghề như TPBank, VOVBacsi24, VNDirect, Shinhan Finance, Ahamove, Logivan, Homedy,  Adavigo, bTaskee…

Quý bạn đọc quan tâm xin mời đăng ký NHẬN TƯ VẤN TẠI ĐÂY: