2010-01-08 35 views
29

Tôi nhận thấy rằng nhiều trang web, thậm chí Google và một số trang web ngân hàng, có HTML viết kém mà không có dấu ngoặc kép xung quanh giá trị thuộc tính hoặc sử dụng các ký tự như ký hiệu và không thoát đúng trong liên kết. Nói cách khác, nhiều đánh dấu sử dụng sẽ không xác nhận.Tại sao một số trang web chính sử dụng HTML không hợp lệ?

Tôi tò mò về lý do của chúng. HTML có quy tắc đơn giản và nó chỉ là tâm-boggling rằng họ dường như không tuân theo những quy tắc. Hay họ sử dụng các chương trình chỉ nhổ ra mã?

+3

Xem thêm http://stackoverflow.com/questions/1967191/why-would-google-use-a-font-tag –

+4

tôi khuyên bạn nên làm điều này một cộng đồng wiki, và có lẽ sửa đổi câu hỏi ít gây tranh cãi nếu bạn muốn tránh việc đóng cửa gần như không tránh khỏi. –

+0

Tôi tin rằng hầu hết các trang web của Google đều dựa trên GWT, đây là một khung công tác java tự động tạo html + css + javascript. – slebetman

Trả lời

110

Hầu hết mọi người đã nhận được câu trả lời về cơ bản ngay — rằng các quy tắc khác nhau khi bạn phân phối trang một tỷ lần mỗi ngày. Số byte bắt đầu quan trọng và mức độ nén hiện tại cho thấy rõ ràng rằng Google quan tâm đến việc tiết kiệm băng thông.

Một vài điểm:

Một, mọi người ngụ ý rằng lý do Google tiết kiệm băng thông là tài chính. Không chắc. Ngay cả một vài terabyte một ngày được lưu trên trang kết quả tìm kiếm của Google là một giọt trong nhóm so với tổng của tất cả các thuộc tính của họ: Youtube, Blogger, Maps, Gmail, v.v. Nhiều khả năng là Google muốn trang kết quả tìm kiếm của mình, đặc biệt, để tải càng nhanh càng tốt trên càng nhiều thiết bị càng tốt. Có, byte quan trọng khi trang được tải một tỷ lần mỗi ngày, nhưng byte cũng quan trọng khi người dùng của bạn đang sử dụng điện thoại vệ tinh ở sa mạc Sahara và cố gắng để có được 1kbps.

Hai, có sự khác biệt giữa các tiêu chuẩn được mã hóa của XHTML và tương tự, và tiêu chuẩn thực tế về những gì thực sự hoạt động trong mọi trình duyệt từng được thực hiện từ năm 1994. vui lòng bỏ qua bất kỳ trình duyệt phiền hà nào chiếm ít hơn 0,1% người dùng của họ, đối với Google, rằng 0,1% có lẽ là một nửa triệu người. Họ quan trọng. Vì vậy, trang kết quả tìm kiếm của họ phải hoạt động trên IE 5.5. Đây là lý do họ vẫn sử dụng bảng để bố trí trên nhiều trang có giá trị cao - đó vẫn là bố cục “chỉ hoạt động” trên số lượng trình duyệt lớn nhất.

Là một bài tập, trong khi thực tập tại Google, tôi đã viết phiên bản XHTML/CSS tuân thủ hoàn toàn của trang kết quả tìm kiếm của Google và hiển thị nó xung quanh. Cuối cùng câu hỏi đã xuất hiện - tại sao chúng tôi lại phục vụ HTML như vậy? Chúng ta có nên dẫn đầu cộng đồng dev web theo hướng tiêu chuẩn không? Câu trả lời tôi nhận được khá nhiều điểm thứ hai ở trên. Google DOES tuân theo một tiêu chuẩn - không phải là tiêu chuẩn không tốt đẹp của web utopia, mà là tiêu chuẩn thực tế hoàn toàn ở khắp mọi nơi.

+1

Câu trả lời hay với thông tin chi tiết "thế giới thực". –

+0

+1 "... cho Google, 0,1% có lẽ là một nửa triệu người." Quan điểm tốt đẹp (đặc biệt là từ một người nào đó "bên trong"). –

+0

Nhưng sau đó tôi nghĩ rằng họ nên phục vụ HTML bị hỏng chỉ cho các trình duyệt web bị hỏng. –

10

Google có lý do chính đáng để viết HTML kém – mọi ký tự họ tách khỏi trang tìm kiếm sẽ lưu chúng có thể là gigabyte băng thông mỗi ngày.

+0

Giảm chi phí băng thông bằng cách xem http://blogs.broughturner.com/2009/04/youtubes-fine Các thỏa thuận -analysts-dont-understand-internet-peering.html làm cho việc ước lượng khó khăn về mức độ bảo tồn băng thông cạnh tranh với các yếu tố khác mà Google xem xét. – micahwittman

+0

Điều đó không có nghĩa là lập trình viên tại mã Google sử dụng html không hợp lệ. Công việc sạch sẽ của họ có lẽ là đi qua một bộ lọc trước khi đi vào máy chủ sống mà tước bất kỳ nhân vật không cần thiết (như được thấy bởi các nguồn của trang chủ của họ). –

+0

Huyền thoại này đã bị debunked nhiều lần bằng cách chỉ ra rằng Google thậm chí không tối ưu hóa hình ảnh logo của họ, mà sẽ tiết kiệm cho họ gigabyte băng thông * một phút *. –

4

Đối với một số trang web như Google, việc có mã hoàn hảo không phải là "quan trọng".

Tuy nhiên, tổng kích thước của trang web là. Một vài byte bị ảnh hưởng trên mã HTML có thể có nghĩa là hàng trăm đô la về băng thông.

Vì vậy, nếu họ có thể chắc chắn trang của họ sẽ được hiển thị chính xác, họ sẽ không ngần ngại chỉnh sửa HTML của họ.

2

Nói chung, việc mã hóa trang web rất dễ dàng và do đó rào cản nhập rất thấp đối với những người không có kinh nghiệm hoặc không lập trình. Điều này làm cho nó dễ dàng để sản xuất các trang tiêu chuẩn phụ và web được rải rác với chúng. Kết hợp điều đó với các công cụ như Microsoft Frontpage giúp việc tạo trang web trở nên dễ dàng hơn (và thậm chí dễ dàng hơn để tạo mã HTML xấu) và bạn có một tình huống khó chịu.

6

Như được discussed previously, Google làm điều đó vì lý do băng thông.

Đối với các ngân hàng và các trang web enterprisey khác, có thể có nhiều reasons-

  1. CMS spits ra HTML hợp lệ
  2. Dreamweaver, đủ nói.
  3. Có xu hướng sử dụng các thành phần giao diện người dùng thương mại đã được thiết kế để hoạt động ngay cả trên các trình duyệt cũ để chúng sai về mặt cẩn thận.
  4. Không chú trọng vào thực tiễn HTML và Javascript tốt. Nhiều người trong số họ có xu hướng là các cửa hàng Java hoặc .NET không có nhà phát triển UI tốt.
  5. Thiết kế kém. Điều khiển người dùng .NET và thẻ tag JSTL.
+1

+1 câu trả lời rất hay. –

+2

Bạn quên MS Frontpage. Tạo ra mã tồi tệ hơn Dreamweaver từng nghĩ đến. Không thể cho bạn biết bao nhiêu giờ tôi đã lãng phí làm sạch mã của người khác từ Frontpage chỉ vì tất cả các rác mà làm cho nó gần như không thể đọc. –

+2

Hoặc xuất tài liệu Word dưới dạng HTML và tải lên dưới dạng trang web. Xấu xí như địa ngục. –

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