Tôi nghĩ tôi nên gửi "text/xml", nhưng sau đó tôi đọc rằng tôi nên gửi "application/xml". Nó có quan trọng không? Ai đó có thể giải thích sự khác biệt?Tôi nên gửi giá trị Loại nội dung nào cho sơ đồ trang web XML của mình?
Trả lời
Các difference between text/xml and application/xml là mã hóa ký tự mặc định nếu charset tham số được ommitted:
Text/xml và application/xml hành xử khác nhau khi tham số charset không được xác định một cách rõ ràng. Nếu bộ ký tự mặc định (ví dụ: US-ASCII) cho văn bản/xml là bất tiện vì một số lý do (ví dụ: web xấu máy chủ), ứng dụng/xml cung cấp giải pháp thay thế (xem "Tùy chọn thông số" của đăng ký ứng dụng/xml trong Phần 3.2).
Đối text/xml:
Conformant với [RFC2046], nếu một thực thể text/xml nhận được với tham số charset bỏ qua, bộ vi xử lý MIME và xử lý XML PHẢI sử dụng giá trị charset mặc định của " us-ascii "[ASCII]. Trong trường hợp nơi thực thể XML MIME được truyền qua HTTP, giá trị mặc định ký tự vẫn là "us-ascii".
Đối application/xml:
Nếu một thực thể application/xml nhận được nơi tham số charset được bỏ qua, không có thông tin được cung cấp về charset bởi header MIME Content-Type. Tuân thủ các bộ xử lý XML PHẢI tuân thủ các yêu cầu trong phần 4.3.3 của [XML] trực tiếp giải quyết tình huống này. Tuy nhiên, bộ xử lý MIME không phải là bộ xử lý XML NÊN KHÔNG giả sử bộ ký tự mặc định nếu tham số ký tự được bỏ qua từ thực thể ứng dụng/xml.
Vì vậy, nếu charset tham số được bỏ qua, mã hóa ký tự của text/xml là US-ASCII trong khi với application/xml mã hóa ký tự có thể được quy định tại văn bản riêng của mình.
Bây giờ, quy tắc chung trên internet là: “Hãy nghiêm khắc với đầu ra nhưng phải chịu đựng với đầu vào.” Điều đó có nghĩa là đảm bảo đáp ứng các tiêu chuẩn càng nhiều càng tốt khi phân phối dữ liệu qua internet. Nhưng xây dựng trong một số cơ chế để bỏ qua lỗi hoặc để đoán khi nhận và giải thích dữ liệu qua internet.
Vì vậy, trong trường hợp của bạn chỉ cần chọn một trong hai loại (Tôi khuyên bạn nên application/xml) và chắc chắn để xác định mã hóa ký tự sử dụng đúng cách (Tôi khuyên bạn nên sử dụng mã hóa ký tự mặc định tương ứng để chơi an toàn, vì vậy trong trường hợp của ứng dụng/xml sử dụng UTF-8 hoặc UTF-16).
text/xml là cho các tài liệu đó sẽ có ý nghĩa với một con người nếu được trình bày dưới dạng văn bản mà không cần chế biến thêm, application/xml là dành cho tất cả mọi thứ khác
Mỗi thực thể XML là phù hợp để sử dụng với các ứng dụng/xml phương tiện truyền thông loại mà không sửa đổi. Nhưng điều này không khai thác thực tế là XML có thể được coi là văn bản thuần túy trong nhiều trường hợp. Tác nhân người dùng MIME (và các tác nhân người dùng web) không có hỗ trợ rõ ràng cho ứng dụng/xml sẽ xử lý ứng dụng/octet-stream, ví dụ bằng cách cung cấp để lưu tệp vào một tệp.
Để cho biết rằng một thực thể XML phải được xử lý dưới dạng văn bản thuần túy theo mặc định , hãy sử dụng loại phương tiện văn bản/xml. Điều này hạn chế mã hóa được sử dụng trong thực thể XML cho các đối tượng tương thích với yêu cầu cho các loại phương tiện văn bản như được mô tả trong [RFC-2045] và [RFC-2046], ví dụ: UTF-8, chứ không phải UTF-16 (ngoại trừ HTTP).
cả hai đều tốt.
văn bản/xxx có nghĩa là trong trường hợp chương trình không hiểu xxx, có nghĩa là hiển thị tệp cho người dùng dưới dạng văn bản thuần túy. ứng dụng/xxx có nghĩa là nó là vô nghĩa để hiển thị nó.
Xin lưu ý rằng các loại nội dung ban đầu được xác định cho tệp đính kèm E-Mail trước khi chúng được sử dụng sau này trong thế giới web.
Như một quy tắc của ngón tay cái, đặt cược an toàn nhất đối với việc tài liệu của bạn được điều trị đúng cách bởi tất cả các máy chủ web, proxy, và các trình duyệt khách hàng, có lẽ là như sau:
- Sử dụng application/xml kiểu nội dung
- Bao gồm mã hóa ký tự trong loại nội dung, có thể là UTF-8
- Bao gồm mã hóa ký tự phù hợp trong thuộc tính mã hóa của chính tài liệu XML.
Xét về mặt RFC 3023 spec, mà một số trình duyệt không thực hiện đúng cách, sự khác biệt lớn trong các loại nội dung là về cách khách hàng có nghĩa vụ phải đối xử với mã hóa ký tự, như sau:
Đối với ứng dụng/xml, application/xml-dtd, application/xml-external-parsed-entity, hoặc bất kỳ một trong các kiểu con của application/xml như application/atom + xml, application/rss + xml hoặc application/rdf + xml, ký tự mã hóa được xác định theo thứ tự này:
- mã hóa được cung cấp trong bộ mã ký tự er của tiêu đề HTTP Content-Type
- mã hóa được cung cấp trong thuộc tính mã hóa của khai báo XML trong tài liệu,
- utf-8.
Đối với văn bản/xml, văn bản/xml-phân tách cú pháp bên ngoài hoặc loại phụ như văn bản/foo + xml, thuộc tính mã hóa của khai báo XML trong tài liệu bị bỏ qua và mã hóa ký tự là:
- mã hóa được đưa ra trong tham số charset của HTTP header Content-Type, hoặc
- us-ascii.
Hầu hết các trình phân tích cú pháp đều không triển khai thông số; họ bỏ qua HTTP Context-Type và chỉ sử dụng mã hóa trong tài liệu. Với rất nhiều tài liệu bị hình thành ngoài kia, điều đó sẽ không thay đổi sớm.
- 1. Sơ đồ trang web cho nội dung động?
- 2. Tôi có nên liệt kê các tệp PDF trong tệp sơ đồ trang web của mình không?
- 3. Tôi làm cách nào để hiển thị nội dung cá nhân của mình từ Facebook trên trang web của mình?
- 4. Trực quan hóa Sơ đồ trang web của một trang web lớn (số trang)
- 5. Tôi nên sử dụng loại màu xanh nào cho nội dung tĩnh
- 6. Nội dung trung tâm của trang web
- 7. Tôi làm cách nào để mã hóa nội dung của người dùng trên trang web của mình để thậm chí tôi không thể truy cập nội dung?
- 8. Tôi có nên loại bỏ các bot truy cập trang web của mình không?
- 9. Tôi nên làm cách nào để kiến trúc cho ứng dụng iPhone của mình nói chuyện với trang web của mình?
- 10. đặt giá trị ScriptManager AsyncPostBackTimeout trên trang nội dung ASP.NET
- 11. Tôi nên sử dụng thẻ meta nào để cho biết tác giả trang web (không phải nội dung)?
- 12. Khi nào tôi nên phản hồi các yêu cầu HEAD HTTP trên trang web của mình
- 13. Thêm sơ đồ trang web theo cách thủ công vào s3 vào công cụ quản trị trang web của google
- 14. Sơ đồ trang web SDL2 - quá chậm
- 15. Tôi có nên sử dụng Google Web Toolkit cho ứng dụng web mới của mình không?
- 16. Chọn mặt của một Sơ đồ trang web trong GLSL
- 17. Cách tự động điền tệp sơ đồ trang web
- 18. Tôi nên sử dụng loại tài liệu nào cho trang web trên điện thoại di động?
- 19. Tôi nên đặt url trang web của mình ở cài đặt django ở đâu?
- 20. Nội dung SMS của Android (nội dung: // sms/đã gửi)
- 21. Giá trị loại nội dung trong yêu cầu HTTP khi tải lên nội dung?
- 22. Triển khai sơ đồ trang web ở Django
- 23. giá trị của nhãn trang chính không được cập nhật trang nội dung biểu mẫu
- 24. Magento và Sơ đồ trang web Google - Cron
- 25. Biên soạn nội dung tĩnh cho một trang web
- 26. Truy cập Nội dung của một Trang Web với C#
- 27. Loại nội dung nào sẽ được sử dụng cho bản trình bày XML + XSL?
- 28. Facebook og: loại thẻ meta - tôi có nên tạo trang của riêng mình không?
- 29. Các tệp sơ đồ trang web của Google cho các dự án Rails
- 30. Làm cách nào để tôi có được nội dung của trang web
Tuy nhiên, thật buồn cười khi loại HTML MIME ưa thích là 'text/html' và loại XHTML MIME ưa thích là' application/xhtml + xml'. – zneak
Không thực sự. 'text/html' đã tồn tại trong một thời gian rất dài và đã hơi muộn để thay đổi nó. – Quentin