6.1 Các loại đề mục

Tiêu đề yêu cầu http thực sự là thông tin dịch vụ cho máy khách http và máy chủ http. Nhưng nó rất quan trọng, và nếu bạn hoàn toàn không hiểu chúng, nó thường sẽ đi ngang với bạn. Vì vậy, ít nhất hãy đọc về chúng.

Tất cả các tiêu đề http có thể được chia thành 4 nhóm chính:

# loại tiêu đề Sự miêu tả Ghi chú
1 Tiêu đề chung tiêu đề chung Được sử dụng trong các yêu cầu và phản hồi
2 tiêu đề yêu cầu tiêu đề yêu cầu Chỉ được sử dụng trong các yêu cầu
3 tiêu đề phản hồi tiêu đề phản hồi Chỉ được sử dụng trong các câu trả lời
4 Tiêu đề thực thể Tiêu đề thực thể Kèm theo từng thực thể tin nhắn

6.2 Tác nhân người dùng

Tiêu đề quan trọng và phổ biến nhất là User-Agent . Đây là một chuỗi đặc biệt mô tả máy khách nào đang yêu cầu máy chủ. Đây là tên của khách hàng.

Thông thường, máy chủ sẽ điều chỉnh phản hồi của nó một chút cho người yêu cầu. Ví dụ: nếu yêu cầu rõ ràng rằng yêu cầu đến từ trình duyệt trên điện thoại di động, thì nó có thể được cung cấp phiên bản di động của trang HTML.

Không có gì lạ khi spambot, trình quản lý tải xuống và một số trình duyệt gửi chuỗi Tác nhân người dùng giả mạo để giả vờ là khách hàng hợp pháp. Tình huống này được gọi là giả mạo tác nhân người dùng hoặc giả mạo tác nhân người dùng.

Ví dụ: Tác nhân người dùng của tôi bây giờ trông như thế này:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

Nó chứa thông tin về trình duyệt, hệ điều hành và công cụ web của trình duyệt.

6.3 Loại nội dung

Tiêu đề phổ biến thứ hai là Content-Type . Nó được sử dụng để xác định loại MIME của tài nguyên mà máy chủ đang phục vụ.

Ngay cả vào buổi bình minh của Internet, các loại nội dung truyền thông được truyền tải đã được tiêu chuẩn hóa để thuận tiện. Chúng được gọi là Loại Phương tiện Internet hoặc viết tắt là MimeTypes . Chúng thuộc 9 loại:

  • ứng dụng
  • âm thanh
  • ví dụ
  • hình ảnh
  • tin nhắn
  • người mẫu
  • nhiều phần
  • chữ
  • băng hình

Ví dụ:

Loại Kiểu Sự miêu tả
âm thanh âm thanh/mp4 Tệp âm thanh ở định dạng mp4
âm thanh/aac Tệp âm thanh AAC
hình ảnh hình ảnh/gif ảnh gif
hình ảnh/jpeg ảnh jpeg
hình ảnh/png hình ảnh png
chữ văn bản/css tệp CSS
văn bản/html tệp HTML
băng hình video/mpeg Tệp video ở định dạng mpeg
video/webm Tệp video ở định dạng webm
video/3gpp Tệp video ở định dạng 3gpp
ứng dụng ứng dụng/x-www-form-urlencoded dữ liệu được mã hóa
ứng dụng/zip Lưu trữ zip
ứng dụng/javascript JavaScript
ứng dụng/xml XML

Thông thường máy chủ biết nó cung cấp dữ liệu gì. Nhưng nếu bạn đang tạo phản hồi của máy chủ bằng mã của riêng mình, thì bạn cần chỉ định loại phản hồi (Loại nội dung) của máy chủ.

6.4 Độ dài nội dung

Tiêu đề này xác định độ dài phản hồi của máy chủ . Nếu một cách đơn giản, thì kích thước của tệp đã cho. Bạn không cần phải đặt tùy chọn này theo cách thủ công. Mặc dù có thể hữu ích khi xem những gì máy chủ đưa ra, nhưng nếu vì lý do nào đó, câu trả lời không đến với tất cả.

6.5 Chấp nhận mã hóa

Với tiêu đề này, máy khách có thể cho máy chủ biết rằng nó hỗ trợ các thuật toán nén nội dung khác nhau . Do đó, trước tiên, máy chủ có thể lưu trữ nội dung, chẳng hạn như bằng kho lưu trữ zip, sau đó gửi nội dung đó đến máy khách và máy khách có thể khôi phục chính xác nội dung ban đầu.

Ưu điểm của lưu trữ là tệp càng nhỏ thì tốc độ truyền càng nhanh. Nhược điểm của việc lưu trữ - tải bổ sung trên máy khách và trên máy chủ. Lưu trữ có ý nghĩa khi chuyển các tệp lớn và thường không có ý nghĩa khi chuyển các tệp nhỏ.

Một ví dụ về một tiêu đề như vậy:

Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

deflateThuật toán nén dữ liệu được hỗ trợ ở đâu gzipqcho biết mức độ nén.