เหตุใดบางครั้งเว็บเบราว์เซอร์ของฉันจึงไม่แสดงเวลาดาวน์โหลดที่เหลืออยู่

Aug 22, 2025
คลาวด์และอินเทอร์เน็ต
เนื้อหาที่ไม่ถูกแคช

บางครั้งเครื่องวัดความคืบหน้าในการดาวน์โหลดที่ซื่อสัตย์บนเบราว์เซอร์ของคุณ (หรือแอปพลิเคชันอื่น ๆ ) ก็แค่โยนมือขึ้นไปบนอากาศและยอมแสดงเวลาดาวน์โหลดที่เหลือ เหตุใดบางครั้งจึงเน้นเวลาในการดาวน์โหลดที่คาดการณ์ไว้และบางครั้งก็ล้มเหลวในการรายงานทั้งหมดพร้อมกัน

เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นการรวมกลุ่มเว็บไซต์ถาม & ตอบโดยชุมชน

คำถาม

ผู้อ่าน SuperUser Coldblackice ต้องการทราบว่าเหตุใดเบราว์เซอร์ของเขาจึงไม่กำจัดสิ่งสกปรกเสมอไป:

ในบางครั้งเมื่อดาวน์โหลดไฟล์ในเว็บเบราว์เซอร์ความคืบหน้าในการดาวน์โหลดจะไม่ "ทราบ" ขนาดทั้งหมดของไฟล์หรือระยะทางในการดาวน์โหลดเพียงแค่แสดงความเร็วในการดาวน์โหลดโดยรวม เป็น“ ไม่ทราบ”

เหตุใดเบราว์เซอร์จึงไม่ทราบขนาดสุดท้ายของไฟล์บางไฟล์ ข้อมูลนี้ได้รับมาจากที่ไหนในตอนแรก?

ที่ไหนจริง?

คำตอบ

ผู้สนับสนุน SuperUser Gronostaj นำเสนอข้อมูลเชิงลึกดังต่อไปนี้:

ในการขอเอกสารจากเว็บเซิร์ฟเวอร์เบราว์เซอร์จะใช้โปรโตคอล HTTP คุณอาจรู้จักชื่อนั้นจากแถบที่อยู่ของคุณ (ตอนนี้อาจซ่อนอยู่ แต่เมื่อคุณคลิกแถบที่อยู่คัดลอก URL และวางลงในโปรแกรมแก้ไขข้อความคุณจะเห็น http: // ที่จุดเริ่มต้น) เป็นโปรโตคอลแบบข้อความธรรมดาและทำงานดังนี้:

ขั้นแรกเบราว์เซอร์ของคุณจะเชื่อมต่อกับเซิร์ฟเวอร์ของเว็บไซต์และส่ง URL ของเอกสารที่ต้องการดาวน์โหลด (หน้าเว็บก็คือเอกสารเช่นกัน) และรายละเอียดบางอย่างเกี่ยวกับเบราว์เซอร์เอง ( ตัวแทนผู้ใช้ ฯลฯ ) ตัวอย่างเช่นในการโหลดหน้าหลักบนไซต์ SuperUser http://superuser.com/ เบราว์เซอร์ของฉันส่งคำขอที่มีลักษณะดังนี้:

รับ / HTTP / 1.1
โฮสต์: superuser.com
การเชื่อมต่อ: ให้มีชีวิตอยู่
ยอมรับ: text / html, application / xhtml + xml, application / xml; q = 0.9, * / *; q = 0.8
ตัวแทนผู้ใช้: Mozilla / 5.0 (Windows NT 6.1; WOW64)
ยอมรับการเข้ารหัส: gzip, deflate, sdch
ยอมรับภาษา: pl-PL, pl; q = 0.8, en-US; q = 0.6, en; q = 0.4
คุกกี้: [removed for security]
DNT: 1
If-Modified-Since: อังคาร, 09 กรกฎาคม 2013 07:14:17 GMT

บรรทัดแรกระบุเอกสารที่เซิร์ฟเวอร์ควรส่งคืน บรรทัดอื่น ๆ เรียกว่าส่วนหัว พวกเขามีลักษณะดังนี้:

ชื่อส่วนหัว: ค่าส่วนหัว

บรรทัดเหล่านี้จะส่งข้อมูลเพิ่มเติมที่ช่วยให้เซิร์ฟเวอร์ตัดสินใจว่าจะทำอย่างไร

หากทุกอย่างเรียบร้อยเซิร์ฟเวอร์จะตอบกลับโดยส่งเอกสารที่ร้องขอ การตอบกลับเริ่มต้นด้วยข้อความสถานะตามด้วยส่วนหัวบางส่วน (พร้อมรายละเอียดเกี่ยวกับเอกสาร) และสุดท้ายหากทุกอย่างเรียบร้อยดีเนื้อหาของเอกสาร นี่คือลักษณะการตอบกลับของเซิร์ฟเวอร์ SuperUser สำหรับคำขอของฉัน:

HTTP / 1.1 200 ตกลง
การควบคุมแคช: สาธารณะอายุสูงสุด = 60
ประเภทเนื้อหา: text / html; charset = utf-8
Expires: อังคาร, 09 ก.ค. 2013 07:27:20 GMT
Last-Modified: อังคาร, 09 ก.ค. 2013 07:26:20 GMT
แตกต่างกันไป: *
X-Frame-Options: SAMEORIGIN
วันที่: อังคาร, 09 ก.ค. 2556 07:26:19 GMT
ความยาวเนื้อหา: 139672

<! DOCTYPE html>
<html>
    [...snip...]
</html>

หลังจากบรรทัดสุดท้ายเซิร์ฟเวอร์ของ SuperUser จะปิดการเชื่อมต่อ

บรรทัดแรก ( HTTP / 1.1 200 ตกลง ) ประกอบด้วยไฟล์ รหัสตอบกลับ ในกรณีนี้ก็คือ 200 ตกลง . หมายความว่าเซิร์ฟเวอร์จะส่งคืนเอกสารตามที่ร้องขอ เมื่อเซิร์ฟเวอร์ไม่สามารถจัดการได้โค้ดจะเป็นอย่างอื่นคุณอาจเคยเห็น 404 ไม่พบ และ 403 ต้องห้าม เป็นเรื่องธรรมดาเช่นกัน จากนั้นส่วนหัวตามมา

เมื่อเบราว์เซอร์พบบรรทัดว่างในการตอบกลับมันจะรู้ว่าทุกสิ่งที่ผ่านมาเป็นเนื้อหาของเอกสารที่ร้องขอ ดังนั้นในกรณีนี้ <! DOCTYPE html> คือบรรทัดแรกของรหัสหน้าแรกของ SuperUser หากฉันกำลังขอเอกสารเพื่อดาวน์โหลดเอกสารนั้นอาจเป็นอักขระที่ไม่เหมาะสมเนื่องจากรูปแบบเอกสารส่วนใหญ่ไม่สามารถอ่านได้หากไม่มีการประมวลผลก่อน

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

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


Fixed: Internet Explorer Can Not Display The Web Page


คลาวด์และอินเทอร์เน็ต - บทความยอดนิยม

มีอะไรใหม่ใน Chrome 79 พร้อมให้บริการแล้ว

คลาวด์และอินเทอร์เน็ต Dec 16, 2024

Google ตั้งค่าเป็น ปล่อย Chrome 79 วันนี้ในวันที่ 10 ธันวาคม 2019 คาดว่าจะ�..


วิธีแชร์เพลย์ลิสต์ Spotify ของคุณกับเพื่อน ๆ (หรือคนทั้งโลก)

คลาวด์และอินเทอร์เน็ต Nov 20, 2024

Spotify และบริการสตรีมมิ่งอื่น ๆ ได้เปลี่ยนวิธีการฟังเพลงของผู้คน ใ�..


วิธีปิดใช้งานการแชร์รูปภาพและวิดีโอ iCloud ของ OS X

คลาวด์และอินเทอร์เน็ต Apr 24, 2025

แอพ Photos ใหม่ของ Apple เชื่อมช่องว่างระหว่าง Mac และอุปกรณ์ iOS ด้วยการซิงค..


วิธีการรวม Google Apps กับ Windows 8

คลาวด์และอินเทอร์เน็ต Feb 19, 2025

เนื้อหาที่ไม่ถูกแคช Windows 8 ออกแบบมาเพื่อผลักดันบริการเว็บของ Microsoft �..


วิธีค้นหาเฉพาะไซต์ที่คุณกำลังดูโดยใช้ Google Search

คลาวด์และอินเทอร์เน็ต Sep 3, 2025

เนื้อหาที่ไม่ถูกแคช คุณเคยต้องการค้นหาไซต์ที่คุณกำลังดูอยู่ แ..


ถ่ายโอนเพลงแอพและข้อมูลอื่น ๆ จาก iPod รุ่นเก่าไปยังเครื่องใหม่

คลาวด์และอินเทอร์เน็ต Sep 30, 2025

เมื่อเร็ว ๆ นี้ Apple เปิดตัว iPod Touch & iPhones รุ่นที่ 4 ใหม่และหากคุณมีรุ่นใหม่ค..


รับ Safari Reader บน Chrome และ Firefox ด้วย iReader

คลาวด์และอินเทอร์เน็ต Aug 16, 2025

คุณต้องการใช้คุณลักษณะ Reader ใหม่ใน Safari แต่ไม่ต้องการเปลี่ยนเบราว์เซอร�..


ส่งไฟล์ขนาดใหญ่ทางอินเทอร์เน็ตด้วยการส่งของคุณ

คลาวด์และอินเทอร์เน็ต Jul 25, 2025

เนื้อหาที่ไม่ถูกแคช ฉันเป็นแฟนของ yousendit.com สองสามปีแล้ว นี่เ�..


หมวดหมู่