การดาวน์โหลดไฟล์ซิปใช้เวลานานกว่าไฟล์ที่คลายซิปหรือไม่


13

ฉันเคยอ่านที่ไหนสักแห่งก่อนที่จะดาวน์โหลดไฟล์ซิปนานกว่าไฟล์ที่ซิปขนาดเดียวกันเนื่องจากลักษณะของไฟล์ซิป

มันเป็นเรื่องจริงหรือไร้สาระ?

แก้ไข: ฉันกำลังพูดเกี่ยวกับทราฟฟิก HTTP


1
ผ่านโปรโตคอลไหน
innaM

4
คุณกำลังพูดถึงสองไฟล์ที่มีขนาดเดียวกันหนึ่งซิปและหนึ่งซิป (เช่น 1MB แต่ละไฟล์) หรือไฟล์เดียวกันที่ถูกบีบอัดและไม่บีบอัด (เช่น 1MB และ 345KB)
Toby Allen

คุณควรพิจารณาอัตราการดาวน์โหลดไม่ใช่เวลา ในทั้งสองกรณีอัตราจะเท่ากัน ... ในที่สุดคุณดาวน์โหลดจำนวนไบต์ที่ จำกัด ในระยะเวลาที่กำหนด เช่นเดียวกับคำแนะนำของ Toby การดาวน์โหลดไฟล์บีบอัดทำให้คุณไม่มีการบีบอัดข้อมูลมากขึ้นในตอนท้ายซึ่งจะช่วยเพิ่มอัตราการดาวน์โหลดที่ไม่บีบอัดได้อย่างมีประสิทธิภาพ
KFro

คำตอบ:


21

เมื่อการเชื่อมต่อกำลังใช้การบีบอัดอยู่แน่นอน

คุณไม่สามารถบีบอัดข้อมูลได้อย่างมีประสิทธิภาพ 2 ครั้ง ดังนั้นเมื่อเปิดการบีบอัดไฟล์ซิป 1 MB จะถูกถ่ายโอนช้าลงดังนั้นไฟล์ txt 1 MB

หมายเหตุ: สิ่งนี้ขึ้นอยู่กับโปรโตคอลการถ่ายโอน FTP หรือโปรโตคอลอื่นไม่มีการบีบอัดในตัว HTTP ได้


โดยปกติเพียงเล็กน้อยเท่านั้น คุณไม่ควร gzip mp3, jpg หรือ zips
Bradshaw Rich

1
มันสามารถกำหนดรูปแบบการบีบอัด ดังนั้นมันขึ้นอยู่กับผู้ดูแลเว็บเซิร์ฟเวอร์เพื่อเปิดใช้งานการบีบอัดก่อนแล้วจึงปิดการใช้งานการบีบอัดสำหรับประเภทที่รู้จักกันดี
Christopher

มันจะถ่ายโอนช้าลง (ช้ากว่าไปป์) หรือจะใช้เวลาในการดาวน์โหลดนานกว่าเนื่องจากเซิร์ฟเวอร์ทำการวนซ้ำอีกครั้ง (ช้าลงไปที่ไปป์) จุดจู้จี้จุกจิกเพราะผลสุดท้ายยังคงดาวน์โหลดช้ากว่า
MrChrister

3
นี่ไม่ใช่คำถามว่าต้องใช้เวลานานแค่ไหนในการบีบอัด / ขยายข้อมูลเนื่องจากในกรณีส่วนใหญ่การเชื่อมต่อจะเป็นคอขวด การบีบอัด http เสร็จสิ้นในการถ่ายโอนไม่ใช่ตัวไฟล์ดังนั้นเวลาแฝงจะเพิ่มขึ้นเมื่อเวลาแฝงของการบีบอัดการถ่ายโอนไม่ใช่ไฟล์ทั้งหมด ไม่มีข้อเสียจริง ๆ ในการเปิดใช้งานการบีบอัด http แล้วการใช้งาน cpu สูงเกินไปบนเซิร์ฟเวอร์ ในอีกด้านหนึ่งผู้ดูแลระบบเซิร์ฟเวอร์ทั้งหมดควรปิดใช้งานการบีบอัดเพื่อถ่ายโอนไฟล์ประเภทที่ไม่บีบอัดได้ดีมาก
Christopher

11

ไม่เป็นความจริงหากคุณดาวน์โหลดผ่าน FTP มาตรฐานหรือ HTTP สำหรับประเภทการเชื่อมต่ออื่น ๆ ดูคำตอบของคริส

สมมติว่าการเชื่อมต่อเดียวกันความเร็วในการดาวน์โหลดนั้นพิจารณาจากขนาดของไฟล์

อาจมีความล่าช้าในตอนท้ายของการดาวน์โหลดหากคุณเปิดใช้งานการตรวจสอบไวรัสอัตโนมัติเนื่องจากจะต้องเปิดและคลายไฟล์ zip เพื่อตรวจสอบเนื้อหาแทนที่จะสามารถตรวจสอบไฟล์ได้โดยตรง


2
ไม่ใช้ถ้ามีการใช้การบีบอัดในช่อง (ดูคำตอบของ @ Christopher)
fretje

2

หากคุณใช้การเชื่อมต่อ PPP (dial-up หรือ VPN) กับการบีบอัดไฟล์ซิปอาจดาวน์โหลดด้วยความเร็วที่ต่ำกว่าไฟล์ข้อความเนื่องจากลักษณะของมัน (ไฟล์เก่าถูกบีบอัดไว้แล้วและโปรโตคอลหลังจะถูกบีบอัดโดยทำให้เพิ่มความเร็วในการวัด) .

แต่ถ้าคุณเปรียบเทียบจำนวนข้อมูลที่คุณได้รับการดาวน์โหลดไฟล์ซิปจะยังคงมีประสิทธิภาพมากขึ้นเพราะไฟล์เก็บถาวรใด ๆ มักจะดีกว่าการบีบอัดเลเยอร์ลิงก์ ดังนั้นไฟล์ข้อความซิปจะถูกดาวน์โหลดเร็วกว่าคำต่อคำไฟล์ข้อความเดียวกันแม้ว่าการบีบอัดจะเพิ่มความเร็วในการดาวน์โหลดเล็กน้อย


0

คุณต้องสังเกตว่ามันไม่ได้มีความแตกต่างในโปรโตคอล HTTP เพราะในเซิร์ฟเวอร์และในเราเตอร์พวกเขาใช้ GZIP เพื่อแพ็คเก็ตซิปแล้วส่งไปที่นั่นหากคุณซิปหรือไม่พวกเขาทำเหมือนกัน


0

ตามที่ได้กล่าวไปแล้วการรับส่งข้อมูล HTTP สามารถบีบอัดได้ แต่ก็ไม่เสมอไป

คุณอาจเคยอ่านสิ่งนี้ในเวลาที่มีคนใช้โมเด็มโทรศัพท์แทนโมเด็ม adsl / เคเบิล ในสถานการณ์นี้ข้อความถูกบีบอัดก่อนส่งหรือรับดังนั้นไฟล์ข้อความของคุณจะถูกส่งเร็วขึ้น


2
พวกเราบางคนยังใช้โมเด็มโทรศัพท์เพื่อเชื่อมต่ออินเทอร์เน็ต :-)
Brian Knoblauch

0

ไม่แน่ใจว่าเกี่ยวข้องหรือไม่ แต่ถ้าคุณดาวน์โหลดไฟล์ซิปหนึ่งไฟล์ (บีบอัดโดยไม่มีการบีบอัด) จะเร็วกว่าการดาวน์โหลดแพคเกจเดียวกันกับไฟล์หลายไฟล์ (คลายซิป) เนื่องจากต้องการโอเวอร์เฮดคำขอ HTTP ก่อนเริ่มดาวน์โหลดแต่ละไฟล์


0

คำตอบที่ใช้งานได้จริง: วัตถุประสงค์ของการซิปไฟล์ของคุณคือเพื่อให้ง่ายต่อการแชร์ (iedownload) กับผู้อื่น การซิปทำงานโดยการบีบอัดซึ่งหมายถึง 'การย่อขนาดไฟล์' ในภาษาอังกฤษทั่วไป

ซอฟต์แวร์คอมพิวเตอร์ไม่สมบูรณ์และอาจมีกรณีแปลก ๆ ที่การซิปไฟล์จะทำให้ไฟล์มีขนาดใหญ่ขึ้นและแบ่งปันยากขึ้นเล็กน้อย การค้นหากรณีขอบเหล่านี้ที่การซิปไม่อาจทำให้คุณน้ำตาและไม่คุ้มค่ากับเวลาของคุณ

คำตอบสมมุติฐาน:มันซับซ้อนมาก คำตอบนั้นขึ้นอยู่กับโปรแกรม zip, โปรโตคอลการส่งข้อมูล, ขนาดไฟล์, ประเภทไฟล์, แม้กระทั่งชนิดของเบราว์เซอร์หรือซอฟต์แวร์ป้องกันไวรัสที่ทำงานบนคอมพิวเตอร์ไคลเอนต์ กล่าวอีกนัยหนึ่ง "มันขึ้นอยู่กับ"


-2

คำตอบคือ "ขึ้นอยู่กับ": ขึ้นอยู่กับรูปแบบที่เว็บเซิร์ฟเวอร์เลือกที่จะส่งไฟล์

หากเซิร์ฟเวอร์สร้างคำตอบด้วยไบนารี่ as-is ไบต์ไฟล์ที่ซิปขนาดเท่ากันและคลายซิปจะดาวน์โหลดด้วยความเร็วเท่ากัน

หากเซิร์ฟเวอร์สร้างการตอบสนองในการเข้ารหัส Base64 จะเพิ่มจำนวนไบต์และไฟล์ซิปจะใช้เวลาในการดาวน์โหลดนานกว่า เว็บเซิร์ฟเวอร์ที่ทันสมัยส่วนใหญ่ไม่ได้ทำสิ่งนั้นอีกต่อไปแม้ว่าจะเคยเป็นที่แพร่หลายไปเมื่อไม่กี่ปีที่ผ่าน

เพื่ออธิบายรูปแบบ base64 เป็นสตรีมของอักขระที่แสดงได้ 6 บิต ตัวอย่างเช่นนั่นหมายถึงว่าไบนารี่ 6 ไบต์ซึ่งเป็น 6 * 8 = 48 บิตถูกเข้ารหัสเป็น 48/6 = 8 ตัวอักษร โดยทั่วไปสำหรับ n binary bytes จำนวนของ base64 อักขระที่ส่งคือ (n * 8) / 6 ดังนั้นการส่ง n binary bytes จะช้ากว่าการส่ง n textual bytes 33% (8 หารด้วย 6) เนื่องจากตัวอักษรมากกว่า ถูกส่งไป


1
นั่นเป็นความจริงสำหรับข้อความอีเมล แต่ไม่ถือเป็นจริงสำหรับโปรโตคอลอื่นทั้งหมด
Brian Knoblauch

มันถือสำหรับ http ซึ่งเป็นคำถาม http ดาวน์โหลดใช้การเข้ารหัสหลายส่วนใน base64
harrymc

1
ฉันค่อนข้างจะสงสัยนี่คุณอ้างอิงถึงสำรองหรือไม่?
hasen

1
ไม่, http โดยทั่วไปไม่ได้เข้ารหัสเบส 64 ไฟล์ มีประเภท mime ที่จะประกาศกรณีดังกล่าว แต่โดยทั่วไปจะใช้สำหรับอีเมลที่มีความคาดหวังว่า "แพ็คเก็ต" (ข้อความอีเมล) จะปรากฏขึ้นในบางจุดผ่านการเชื่อมต่อที่ไม่ได้ทำความสะอาด 8 บิต โปรโตคอล TCP / IP ที่ HTTP อยู่นั้นรับประกันว่าจะสะอาด 8 บิตและเนื้อหาการเข้ารหัส mime จะทำให้เสียแบนด์วิดท์เท่านั้น
RBerteig

1
เซิร์ฟเวอร์ที่ส่งไฟล์สามารถเลือกได้หลายรูปแบบ คำตอบของฉันเกี่ยวข้องกับการสำรวจที่ฉันทำเมื่อประมาณ 5 ปีที่แล้ว ในเวลานั้นมีเว็บไซต์ไม่กี่แห่งที่สร้างการตอบสนองแบบหลายส่วนการดาวน์โหลดด้วยการเข้ารหัสเนื้อหาการถ่ายโอน (แตกต่างจากประเภท mime) ตามการตรวจสอบอย่างรวดเร็วนี่ไม่ใช่กรณีอีกต่อไปและในความเป็นจริงคำแนะนำล่าสุดของ RFCs ต่อการใช้การเข้ารหัสการถ่ายโอนเนื้อหาในการตอบสนอง http ดังนั้นฉันเชื่อว่าคำตอบที่แท้จริงของ OP คือการคำนวณข้างต้นเคยเป็นกรณีของเว็บไซต์บางแห่งในอดีต แต่ตอนนี้ค่อนข้างหายาก อย่างไรก็ตามนี่ไม่ใช่ตำนานของเมือง
harrymc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.