number of concurrent HTTP/1 connections to a host được giới hạn ở khoảng 6. Giả sử độ trễ 100ms, khoảng 60 hình ảnh trong sprite được đăng sẽ mất ít nhất một giây để tải xuống (có thể nhiều hơn, vì yêu cầu và câu trả lời HTTP cần được tạo và phân tích cú pháp).
Vì kích thước của hình ảnh sprite giống như hình ảnh riêng lẻ và xử lý hình ảnh nhanh chóng (tôi ước tính dưới < 100 ms cho tất cả 60 hình ảnh cùng nhau), sử dụng sprites tiết kiệm amazon khoảng 900ms tải thời gian, một tác động đáng chú ý - và đó là về mặt lý thuyết, mà không tính đến chi phí khổng lồ của việc phải phân phối 60x số lượng yêu cầu mà họ sẽ phải làm khác.
Tóm lại, sử dụng sprites cho biểu tượng và hình ảnh nhỏ qua HTTP/1.
HTTP/2 được thiết kế sao cho các giải pháp thay thế không còn cần thiết nữa. Quan trọng nhất, nhiều yêu cầu có thể được phân phối đồng thời trên cùng một kết nối TCP. Ngoài ra, nén tiêu đề được thiết kế để nén tiêu đề dư thừa chẳng hạn như User-Agent
hoặc Accept
.
Tôi tự hỏi liệu điều này vẫn áp dụng với tiêu chuẩn 'HTTP/2' mới và cải thiện tải xuống song song hay chưa. Ngoài ra, nếu bạn sử dụng nhiều hình ảnh, bạn chỉ có thể tải xuống những hình ảnh bạn cần ở chiều cao cuộn hiện tại. – Cristy
@Cristy Đã thêm giải thích cho HTTP/2. Tải xuống một biểu tượng nhỏ chỉ sau khi cuộn có thể nguy hiểm, vì bạn hiện đang áp dụng ít nhất một RTT (và thường nhiều hơn) trên mỗi lần tải trang, chưa kể rằng các biểu tượng của bạn sẽ chỉ được tải sau JavaScript và trang web sẽ ngắt nếu người dùng cuộn sau khi mất kết nối Internet. – phihag