2010-03-01 17 views
39

thể trùng lặp:
Why minify assets and not the markup?Tại sao nhiều trang web giảm thiểu CSS và JavaScript nhưng không làm HTML?

Tôi đã thấy rất nhiều các trang web sử dụng CSS minified và JavaScript để tăng thời gian phản ứng trang web nhưng tôi chưa bao giờ thấy bất kỳ trang web sử dụng HTML được rút gọn. Tại sao bạn không muốn HTML của bạn được rút gọn?

+4

Google.com làm ... – Ally

+2

http://stackoverflow.com/questions/1306792/why-minify-assets-and-not-the-markup – UmYeah

+3

@Ally - những gì có liên quan đến trang chủ của Google.com có ​​thể không không áp dụng cho trang web trung bình! –

Trả lời

59

Vì nếu bạn đang làm mọi thứ đúng cách, bạn đang phân phối HTML gzip, do đó, thu nhập thấp của việc rút gọn HTML - khoảng trắng - không phải tất cả đều có liên quan. Không có nhiều mục tiêu dễ dàng (ví dụ: tên biến) để rút gọn trong HTML, có trong CSS và JavaScript. Phần lớn nội dung của HTML là nội dung thực tế của trang, có thể không được rút gọn (và, như những người khác đã chỉ ra, gần như chắc chắn sẽ thay đổi thường xuyên hơn CSS hoặc JS).

+4

lưu ý rằng thường làm giảm tối đa css hoặc javascript bao gồm các tệp sáp nhập mà không thể thực hiện được với tệp html vì lý do bạn cung cấp. –

7

Tôi không nghĩ có nhiều chỗ để rút gọn HTML: Bạn có thể xóa khoảng trắng và ngắt dòng, nhưng về cơ bản, đó là về nó mà không thực sự đi vào cấu trúc của trang.

Việc rút gọn JS có thể rút ngắn tên biến và tên hàm, có lẽ là lợi nhuận ròng lớn nhất về không gian đã lưu. Với bộ thẻ cố định, HTML không cung cấp khả năng đó.

Tùy chọn gzipping HTML có thể loại bỏ phần lớn nhu cầu giảm thiểu, đặc biệt vì nó thường được kích hoạt cho HTML, trong khi nó (không cần thiết) không phải lúc nào cũng dành cho các loại tệp CSS và JS.

47

Tôi đoán rằng hầu hết các trang web đều có CSS ​​và Javascript tĩnh. Điều này có nghĩa là chúng có thể được rút gọn chỉ một lần bất cứ khi nào chúng được cập nhật. Mặt khác, HTML có xu hướng được tạo động, có nghĩa là nó sẽ phải được rút gọn trên mọi yêu cầu trang, điều này đắt hơn đáng kể so với việc rút ngắn các tệp CSS và Javascript tĩnh.

+4

imo câu trả lời hay nhất. –

+3

Các trang web tĩnh sẽ chỉ cần được rút gọn một lần. Nhưng ngoài ra, html được tạo động cũng sẽ dễ dàng được rút gọn. Khi nội dung html được tạo, bạn sẽ không chèn khoảng trắng vào vị trí đầu tiên. Nó thực sự sẽ nhanh hơn để tạo html mà không có khoảng trắng. –

3

Nội dung Html được gzipped chịu trách nhiệm về phần lớn việc nén, giảm thiểu trên mức đó sẽ không đạt được nhiều hoặc tiết kiệm rất nhiều băng thông.

Javascript bạn có thể rút gọn như một phần của bản dựng, cách duy nhất điều này sẽ xảy ra với toàn bộ nội dung HTML sẽ là giảm thiểu mọi phần (nếu nó được tạo ra?) Hoặc giảm thiểu toàn bộ thời gian (cơn ác mộng để làm việc) trên?)

Chi phí so với lợi ích, chi phí: băng thông biên, lợi ích: dễ dàng hơn để làm việc, dễ tạo, dễ debug hơn, trong cửa sổ xem nguồn của tôi.

5

Chủ yếu là do tệp Javascript và tệp định kiểu CSS thường là các tệp tĩnh sẽ không thay đổi khi triển khai. Markup, mặt khác, thường được tạo ra trên bay (với các ứng dụng web dựa trên cơ sở dữ liệu, ít nhất), và số lượng "trang" thường lớn và năng động, điều này làm cho lợi ích của việc rút gọn nhiều công việc hơn giá trị của nó.

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