2010-05-29 42 views
5

Trong một thời gian dài, tôi đã sử dụng XHTML1.1 vì tôi nghĩ rằng tôi rất tuyệt (đúng vậy). Tuy nhiên, hôm nay tôi đọc Ian Hickson's Article về cách mọi người sử dụng loại MIME sai với XHTML và nó mở mắt của tôi rất nhiều. Tôi tình cờ là một trong những người đang phục vụ XHTML với text/html MIME, bởi vì cũng giống như rất nhiều người, W3C nói "ok" của nó để phục vụ nó theo cách này.Hỗ trợ Doctype HTML5

Ở đầu bài viết đó, anh ấy nói rằng "bây giờ" anh ấy sẽ phân phối nó bằng cách sử dụng loại tài liệu HTML5 (! DOCTYPE HTML). Bạn nghĩ gì về việc này? Nếu tôi không sử dụng chức năng không được hỗ trợ, nó có ổn không? Loại MIME sẽ là gì trong trường hợp này?

Nhờ sự giúp đỡ, Metropolis

+1

http://themaingate.net/dev/html/all-you-need-is-doctype-html –

+0

Bạn đang sử dụng những yếu tố nào? Bạn có cần HTML5 hay HTML4 sẽ làm việc tốt cho bạn? –

+3

Vì vậy, bây giờ HTML 5 là điều tuyệt vời? – Gumbo

Trả lời

3

W3C không nói rằng đó là OK để phục vụ XHTML 1.1 dưới dạng text/html. Nó nói rằng nó là OK để phục vụ XHTML 1.0 như text/html.

Điều cần hiểu với HTML5 là nó biến mối quan hệ giữa cú pháp và loại mime trên đầu của nó. Thay vì nói loại mime nào có thể được sử dụng với HTML và XHTML, HTML5 nói rằng nếu bạn phân phát một trang dưới dạng văn bản/html thì là HTML và nếu bạn phân phối dưới dạng ứng dụng/xhtml + xml thì là XHTML .

Do đó, loại tài liệu không quan trọng trong việc xác định xem trang đó là HTML hay XHTML. Đây là những gì trình duyệt đã hoạt động hiệu quả trong nhiều năm, mặc dù cần lưu ý rằng hầu hết các trình xác nhận hợp lệ và một số công cụ tác giả đều sử dụng DOCTYPE để xác định các phương thức hoạt động. Các trình xác nhận HTML5 mới như validator.nu sử dụng kiểu mime làm yếu tố quyết định. Những công cụ tác giả nên làm hiện không rõ ràng, và vẫn đang được tranh luận về bên trong nhóm làm việc HTML, nhưng có vẻ như họ sẽ phải lùi lại trên bản đồ của các phần mở rộng tệp, (ví dụ filename.html so với filename.xhtml)

Nếu chỉ vì trình xác thực HTML5 và tất cả trình duyệt thực hiện tương tự khi đối mặt với loại tài liệu HTML5, việc sử dụng nó phải là một điều tốt, ngay cả khi bạn không sử dụng bất kỳ chức năng HTML5 nào khác. Tuy nhiên, bạn nên lưu ý rằng không phải tất cả HTML4 hợp lệ đều là HTML5 hợp lệ và nhiều chi tiết về HTML5 vẫn đang được tranh cãi. Trong một số trường hợp, các thay đổi gần đây và được đề xuất có thể không được triển khai trong trình xác thực HTML5, vì vậy nếu bạn kiểm tra các trang, bạn có thể nhận được thông báo là lỗi hợp lệ HTML4 và cuối cùng có thể là HTML5 hợp lệ.

Cuối cùng, lưu ý rằng khi phân phối trang của bạn dưới dạng ứng dụng/xhtml + xml, loại tài liệu HTML5 hoàn toàn là tùy chọn. Trình duyệt chỉ đơn giản là bỏ qua nó.

+0

Thông tin tuyệt vời! Cảm ơn Alohci. Vì vậy, không cần cho một loại MIME khi doctype là HTML5? – Metropolis

+1

Vâng, rất khó để phân phát một trang HTML không có loại mime vì hầu hết các máy chủ đều tự động thêm một máy chủ và các trình duyệt hoạt động khác nếu bạn quản lý để đạt được nó.Vì vậy, bạn nên luôn sử dụng loại mime của văn bản/html hoặc ứng dụng/xhtml + xml. Trình duyệt sử dụng doctype với text/html để xác định xem có nên sử dụng chế độ quirks, chế độ quirks hạn chế (hay còn gọi là chế độ tiêu chuẩn) hay chế độ tiêu chuẩn. Nhưng với trình duyệt application/xhtml + xml luôn sử dụng chế độ tiêu chuẩn để doctype không có hiệu lực. – Alohci

2

Google.com đã được phục vụ các trang với các loại tài liệu HTML5 <!doctype html> (xem nguồn nếu bạn không tin tôi), và nếu nó là tốt cho họ đó là tốt cho tôi :)
Hãy nhớ rằng HTML hợp lệ 4,01 nghiêm ngặt cũng có các trang HTML5 hợp lệ!

+0

Ag Agreed :). Ian Hickson (từ google) cũng là một trong những biên tập viên, vì vậy có lẽ anh đã đẩy nó. – Metropolis

+1

"HTML hợp lệ 4.01 nghiêm ngặt cũng là các trang HTML5 hợp lệ!" - Xin lỗi, thậm chí không gần. Ví dụ: các thành phần , đều hợp lệ 4.01 HTML5 nghiêm ngặt nhưng không hợp lệ. – Alohci

+2

Tôi chưa bao giờ sử dụng bất kỳ thẻ nào trong số đó ..... – Metropolis

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