Như bạn lưu ý chính xác, tiêu đề Chấp nhận được sử dụng bởi các máy khách HTTP để cho máy chủ biết loại nội dung nào họ sẽ chấp nhận. Sau đó, máy chủ sẽ gửi lại phản hồi, trong đó sẽ bao gồm tiêu đề Kiểu nội dung cho khách hàng biết loại nội dung của nội dung được trả về thực sự là gì.
Tuy nhiên, như bạn có thể nhận thấy, các yêu cầu HTTP cũng có thể chứa các tiêu đề Kiểu nội dung. Tại sao? Vâng, hãy nghĩ về các yêu cầu POST hoặc PUT . Với các loại yêu cầu đó, máy khách thực sự đang gửi một loạt dữ liệu đến máy chủ như một phần của yêu cầu và tiêu đề Kiểu nội dung cho máy chủ biết dữ liệu thực sự là gì (và do đó xác định cách máy chủ sẽ phân tích cú pháp).
Cụ thể, đối với một yêu cầu POST xuất phát từ việc gửi biểu mẫu HTML, Loại nội dung của yêu cầu sẽ (thông thường) sẽ là một trong những loại nội dung biểu mẫu tiêu chuẩn bên dưới, như được chỉ định bởi enctype
thuộc tính trên <form>
thẻ:
application/x-www-form-urlencoded
(mặc định, cũ hơn, đơn giản hơn, ít chi phí hơn một chút cho một lượng nhỏ văn bản ASCII đơn giản, không hỗ trợ tải lên tệp)
multipart/form-data
(mới hơn, thêm hỗ trợ cho tải lên tệp, hiệu quả hơn đối với số lượng lớn dữ liệu nhị phân hoặc văn bản không phải ASCII)