it-swarm-vi.com

Sử dụng đúng cách mã hóa nội dung

Tôi đã nghe nói rằng việc sử dụng cài đặt Mã hóa nội dung thành Zip hoặc gzip của trang sẽ giảm thời gian tải và giảm băng thông. Đây có phải là giá trị thực hiện cho các trang web trung bình hoặc chỉ các trang web có tải cao? Ngoài ra, làm thế nào để thiết lập các trang được phục vụ theo cách này trong môi trường LAMP? Có sự khác biệt thực tế giữa Zip và gzip không?

9
Oren Hizkiya

Điều này là hoàn toàn đáng làm, ngay cả đối với các trang web có mức lưu lượng truy cập trung bình đến thấp. Mặc dù nó sẽ làm giảm băng thông của bạn (với mức tăng nhẹ trong việc sử dụng CPU), nhưng lợi ích thực sự là cho người dùng của bạn. Ngay cả trên băng thông rộng, bạn có thể nhận thấy sự cải thiện hiệu suất khi truy cập các trang nén, nhưng người dùng của bạn ở tốc độ mạng chậm hơn và điện thoại thông minh mới hơn sẽ thực sự đánh giá cao nó.

6
JasonBirch

Trình duyệt có thể gửi tiêu đề "Chấp nhận mã hóa" cho biết nó có thể chấp nhận các loại mã hóa khác nhau. Thông thường đây là "gzip, def def". (Google Chrome có định dạng kỳ lạ gọi là "sdch" mà bạn có thể bỏ qua.) Sau đó, nếu bạn nhận được tiêu đề đó từ trình duyệt, bạn có thể, nếu bạn muốn, hãy gửi lại nội dung của bạn bằng cách sử dụng gzip hoặc định dạng khử. Khi bạn làm điều đó, tất nhiên bạn cần nói cho trình duyệt biết bạn đã làm gì, vì vậy bạn thêm tiêu đề "Mã hóa nội dung" vào nội dung gửi đi của bạn.

Cả hai định dạng gzip và defat đều được định nghĩa trong RFC (tài liệu tiêu chuẩn internet). Không có tùy chọn "Zip", mặc dù có thể có tùy chọn "bzip2" trong một số trình duyệt.

Bây giờ vấn đề của bạn là mã hóa công cụ của bạn theo định dạng đó và gửi lại. Nếu bạn đang sử dụng Apache, có nhiều cách để thiết lập nó để tự động làm điều đó (mod_deflate, v.v.). Nếu bạn đang gửi hình ảnh thì lưu ý rằng hầu hết các định dạng hình ảnh như JPEG, PNG, GIF, v.v. đã được nén để bạn không nhận được bất kỳ lợi ích nào từ việc nén chúng. Về cơ bản, nó chỉ hoạt động cho HTML, CSS, văn bản thuần túy hoặc JavaScript.

Bạn cần cẩn thận khi sử dụng mã hóa "def def" vì Internet Explorer có một lỗi tồn tại từ lâu, nơi nó không hiểu điều đó quá rõ. Tôi tin rằng những thứ quần ưa thích như Google App Engine sẽ tự động tìm ra cách nén nào để sử dụng và áp dụng nó cho bạn.

2
delete

Để mở rộng trên Jason BirchsKinopikos câu trả lời: một lý do ngày càng quan trọng khác khiến bạn hoàn toàn muốn áp dụng tối ưu hóa (rất đơn giản) này là thông báo của Google để sử dụng tốc độ trang web trong xếp hạng tìm kiếm trên web kể từ ngày 09 tháng 4 năm 2010. Bạn chắc chắn không muốn bỏ lỡ một cải tiến liên quan đến nỗ lực SEO của mình một cách dễ dàng;)

Khi bạn bắt đầu xem xét mọi thứ từ góc độ đó, rất có thể bạn sẽ được hưởng lợi từ (và thích làm việc với) các công cụ tương ứng cung cấp cho bạn cái nhìn sâu sắc về cách các trang của bạn hoạt động và những gì bạn có thể làm về nó để cải thiện chúng:

1
Steffen Opel