2013-04-07 28 views

Trả lời

16

Không, không bắt buộc. Theo số HTTP 1.1 specification:

Bất kỳ thông báo HTTP/1.1 nào chứa nội dung thực thể NÊN bao gồm trường tiêu đề Loại nội dung xác định loại phương tiện của nội dung đó. Nếu và chỉ khi loại phương tiện không được đưa ra bởi trường Content-Type, người nhận CÓ THỂ cố gắng đoán loại phương tiện thông qua kiểm tra nội dung của nó và/hoặc (các) tên mở rộng của URI được sử dụng để xác định tài nguyên. Nếu loại phương tiện truyền thông vẫn chưa được biết, người nhận NÊN coi đó là loại "application/octet-stream".

Điều đó nói rằng, rõ ràng máy chủ của bạn sẽ giải thích chính xác dữ liệu bạn đang gửi nếu bạn bỏ qua tiêu đề Loại nội dung, vì vậy không nên làm như vậy.

4

Từ thông điệp RFC2616

Bất kỳ HTTP/1.1 có chứa một thực thể thân NÊN bao gồm một tiêu đề lĩnh vực Content-Type xác định loại phương tiện truyền thông của cơ thể đó. Nếu và chỉ khi loại phương tiện không được cung cấp bởi trường Loại nội dung, người nhận CÓ THỂ cố đoán loại phương tiện thông qua kiểm tra nội dung và/hoặc (các) tên mở rộng của URI được sử dụng để xác định tài nguyên. Nếu loại phương tiện truyền thông vẫn chưa biết, người nhận NÊN coi đó là loại "ứng dụng/octet-stream".

Vì vậy, nó được khuyến khích thực hiện, không bắt buộc. Nhưng người nhận có thể đoán loại nội dung nếu không có loại nào được cung cấp.

+0

"Nhưng khách hàng ..." Bạn có nghĩa là "nhưng máy chủ ..." khác nó làm cho không có ý nghĩa ;-) – Pascal

+0

Tôi nghi ngờ nó [trường Content-Type-header tiêu đề cho biết loại phương tiện truyền thông của cơ quan thực thể gửi cho người nhận] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) nhưng tôi sẽ sử dụng người nhận để tránh nhầm lẫn. – rene

Các vấn đề liên quan