Tôi đã từng đọc ở đâu đó rằng mất nhiều thời gian hơn để tải xuống một tệp nén hơn một tệp được giải nén có cùng kích thước, do tính chất của tệp zip.
Đây là sự thật hay vô nghĩa?
chỉnh sửa: tôi đang nói về lưu lượng HTTP
Tôi đã từng đọc ở đâu đó rằng mất nhiều thời gian hơn để tải xuống một tệp nén hơn một tệp được giải nén có cùng kích thước, do tính chất của tệp zip.
Đây là sự thật hay vô nghĩa?
chỉnh sửa: tôi đang nói về lưu lượng HTTP
Câu trả lời:
Khi kết nối đang sử dụng nén , thì tất nhiên.
Bạn không thể nén dữ liệu hiệu quả 2 lần. Vì vậy, khi nén được bật, tệp zip 1 MB sẽ được truyền chậm hơn sau đó là tệp txt 1 MB.
NB: Điều này phụ thuộc vào giao thức chuyển. FTP hoặc các giao thức khác không có nén tích hợp. HTTP có.
Điều đó không đúng nếu bạn đang tải xuống qua FTP hoặc HTTP tiêu chuẩn. Đối với các loại kết nối khác, xem câu trả lời của Christopher .
Giả sử cùng một kết nối, tốc độ tải xuống được xác định bởi kích thước của tệp.
Có thể có độ trễ khi kết thúc tải xuống nếu bạn bật tính năng kiểm tra vi rút tự động vì nó sẽ phải mở và giải nén tệp zip để kiểm tra nội dung thay vì có thể kiểm tra tệp trực tiếp.
Nếu bạn sử dụng kết nối PPP (quay số hoặc VPN) với nén, các tệp nén có thể tải xuống với tốc độ thấp hơn các tệp văn bản do bản chất của chúng (trước đây đã được nén và sau đó sẽ được nén bởi giao thức do đó tăng tốc độ đo) .
Nhưng nếu bạn so sánh lượng thông tin bạn nhận được, việc tải xuống các tệp nén sẽ vẫn hiệu quả hơn vì mọi trình lưu trữ tệp thường vượt trội hơn so với nén lớp liên kết. Vì vậy, một tệp văn bản được nén sẽ được tải xuống nhanh hơn so với cùng một nguyên văn của tệp văn bản, ngay cả khi nén làm tăng tốc độ tải xuống một chút.
Như đã đề cập, lưu lượng HTTP có thể được nén, nhưng không phải lúc nào cũng vậy.
Bạn có thể đã đọc điều này tại thời điểm mọi người sử dụng modem điện thoại thay vì modem adsl / cáp. Trong tình huống này, văn bản đã được nén trước khi gửi hoặc nhận, vì vậy tệp văn bản của bạn sẽ được gửi nhanh hơn.
Câu trả lời thực tế: mục đích của việc nén các tệp của bạn là để giúp chúng dễ dàng chia sẻ (ied download) với người khác. Nén hoạt động bằng cách nén, có nghĩa là 'thu nhỏ tệp' trong tiếng Anh thông dụng.
Phần mềm máy tính không hoàn hảo, và có thể có những trường hợp cạnh kỳ lạ khi việc nén một tệp sẽ làm cho nó hơi lớn hơn và khó chia sẻ hơn. Tìm kiếm những trường hợp cạnh mà việc nén không thành công sẽ khiến bạn rơi nước mắt và không đáng để bạn mất thời gian.
Trả lời giả thuyết: Nó rất phức tạp. Câu trả lời sẽ phụ thuộc vào chương trình zip, giao thức truyền, kích thước tệp, loại tệp, thậm chí có thể là loại trình duyệt hoặc phần mềm chống vi-rút đang chạy trên máy khách. Nói cách khác, "nó phụ thuộc."
Câu trả lời thực sự là "nó phụ thuộc": Tùy thuộc vào định dạng mà máy chủ web chọn gửi tệp.
Nếu máy chủ tạo câu trả lời với các byte nhị phân, thì các tệp được nén và giải nén có kích thước bằng nhau sẽ tải xuống với cùng tốc độ.
Nếu máy chủ tạo phản hồi trong mã hóa Base64, thì nó sẽ tăng số lượng byte và tệp nén sẽ mất nhiều thời gian hơn để tải xuống. Hầu hết các máy chủ web hiện đại không làm điều đó nữa, mặc dù nó đã từng khá phổ biến vài năm trước.
Để giải thích, định dạng base64 là một luồng các ký tự hiển thị 6 bit. Điều đó có nghĩa là, ví dụ, 6 byte nhị phân, có 6 * 8 = 48 bit, được mã hóa thành 48/6 = 8 ký tự. Nói chung, đối với n byte nhị phân, số lượng ký tự base64 được gửi là (n * 8) / 6. Vì vậy, việc gửi n byte nhị phân chậm hơn gửi n byte văn bản bằng 33% (8 chia cho 6), vì nhiều ký tự hơn được gửi.