Có mất nhiều thời gian để tải xuống một tệp nén hơn một tệp được giải nén không?


13

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


1
Qua giao thức nào?
innaM

4
Bạn đang nói về hai tệp có cùng kích thước một tệp nén và một tệp được giải nén (ví dụ: mỗi tệp 1MB) hoặc cùng một tệp được nén và không nén (ví dụ: 1MB và 345KB)?
Toby Allen

Bạn nên xem xét tốc độ tải xuống, không phải thời gian. Trong cả hai trường hợp, tốc độ là như nhau ... cuối cùng bạn đã tải xuống một số byte giới hạn trong một khoảng thời gian nhất định. Giống như gợi ý của Toby, việc tải xuống một tệp nén giúp bạn có thêm dữ liệu không bị nén, điều này giúp tăng tốc độ tải xuống không nén của bạn một cách hiệu quả.
KFro

Câu trả lời:


21

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ó.


Thông thường chỉ một chút mặc dù. Bạn không nên gzip mp3, jpg hoặc zips.
Bradshaw giàu có

1
Nó có thể cấu hình cho các loại để nén. Vì vậy, tùy thuộc vào quản trị viên máy chủ web trước tiên cho phép nén và sau đó tắt tính năng nén cho các loại đã biết.
Christopher

Nó sẽ chuyển chậm hơn (chậm hơn qua đường ống) hay sẽ mất nhiều thời gian hơn để tải xuống vì máy chủ đã đốt các chu kỳ nén lại (chậm hơn với đường ống)? Một điểm kén chọn vì kết quả cuối cùng vẫn là tải xuống chậm hơn.
MrChrister

3
Đây không phải là câu hỏi mất bao lâu để nén / giải nén dữ liệu, bởi vì trong hầu hết các trường hợp, kết nối là nút cổ chai. Quá trình nén http được thực hiện trên các lần chuyển chứ không phải chính tệp, do đó độ trễ chỉ tăng lên do độ trễ của việc nén chuyển chứ không phải toàn bộ tệp. Thực sự không có nhược điểm nào cho phép nén http khác với mức sử dụng cpu quá cao trên máy chủ. Mặt khác, tất cả các quản trị viên máy chủ nên vô hiệu hóa việc nén để chuyển các loại tệp không nén tốt.
Christopher

11

Đ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.


2
Không phải nếu nén được sử dụng trên kênh (xem câu trả lời của @ Christopher).
fretje

2

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.


0

bạn phải nhận thấy rằng nó không có sự khác biệt trong giao thức HTTP bởi vì trong máy chủ và trong bộ định tuyến, họ sử dụng GZIP để nén gói và sau đó gửi nếu bạn nén hoặc không hoạt động giống nhau.


0

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.


2
Một số người trong chúng ta vẫn sử dụng modem điện thoại để truy cập Internet. :-)
Brian Knoblauch

0

Không chắc điều này có liên quan hay không, nhưng nếu bạn tải xuống một tệp nén (được nén mà không nén) thì nhanh hơn tải xuống cùng một gói với nhiều tệp (giải nén), do yêu cầu HTTP yêu cầu trước khi bắt đầu tải xuống từng tệp riêng lẻ.


0

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."


-2

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.


1
Điều đó đúng với các thông điệp email, nhưng không đúng với tất cả các giao thức khác.
Brian Knoblauch

Nó không giữ cho http, đó là câu hỏi. Tải xuống http sử dụng mã hóa đa phần trong cơ sở64
harrymc

1
Tôi hơi nghi ngờ điều này, bạn có tham khảo gì để sao lưu không?
hasen

1
Không, http thường không mã hóa các tệp nhị phân base64. Có một loại mime để khai báo trường hợp đó, nhưng nó thường chỉ được sử dụng cho email khi có kỳ vọng rằng "gói" (thông điệp email) đôi khi sẽ đi qua một kết nối không sạch 8 bit. Giao thức TCP / IP mà HTTP nằm ở đó được đảm bảo là sạch 8 bit và nội dung mã hóa mime sẽ chỉ lãng phí băng thông.
RBerteig

1
Máy chủ gửi tệp có thể chọn trong số một số định dạng. Câu trả lời của tôi liên quan đến một cuộc khảo sát mà tôi đã làm khoảng 5 năm trước. Vào thời điểm đó, khá nhiều trang web đang tạo ra phản hồi nhiều phần tải xuống với Mã hóa chuyển nội dung (khác với loại mime). Theo kiểm tra nhanh, đây không còn là vấn đề nữa và trên thực tế, lời khuyên mới nhất của RFC về việc sử dụng Mã hóa chuyển nội dung trong các phản hồi http. Vì vậy, tôi tin rằng câu trả lời thực sự cho OP là: phép tính ở trên từng là trường hợp trước đây đối với một số trang web, nhưng bây giờ khá hiếm. Tuy nhiên, đó không phải là một huyền thoại đô thị.
harrymc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.