สิ่งใดที่ถูกอัปโหลดเมื่อฉันท่องเว็บ


25

ฉันใช้โมเด็มและแสดงความเร็วในการดาวน์โหลดที่n kbps และความเร็วในการอัปโหลดที่m kbps เมื่อฉันตรวจสอบบันทึกมันจะแสดงจำนวนข้อมูลที่ดาวน์โหลดและอัพโหลด ฉันสงสัยว่าเพราะเหตุใดมันจึงแสดงว่าฉันได้อัปโหลดข้อมูล 3 MB ในหนึ่งชั่วโมงซึ่งดูเหมือนว่ามากเกินไปเมื่อฉันไม่เคยอัปโหลดหรือใช้ torrents

ดังนั้นฉันจะอัพโหลดอะไรเมื่อฉันท่องเว็บ?

คำตอบ:


46

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการทำงานของการเชื่อมต่อ TCP และการตอบรับให้ดูที่คำตอบของ Diogo

เมื่อคุณเยี่ยมชมเว็บไซต์สิ่งนี้จะเกิดขึ้น:

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

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

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

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

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

และไม่ใช่ว่าคุณคลิกเพียงอย่างเดียวคุณทำมากกว่านั้นลองทำคำถามของคุณเป็นตัวอย่าง: คุณพิมพ์ตัวอักษรประมาณ 500 ตัวอักษรนับเป็น 1 ไบต์ (ถ้าตัวอักษร ASCII ทั้งหมดอยู่ในกรณีนี้) และสามารถ จาก 1 ถึง 4 ไบต์ (หากอักขระ Unicode) ดังนั้นคำถามของคุณใช้เวลาจริง 0.5 KB หรือ 0.00005 MB! แต่มันไม่ใช่แค่คำถามที่ส่งถึงเราเท่านั้น แต่ยังล้อมรอบด้วยคำขอ POST หรือ AJAX ที่ขอให้เซิร์ฟเวอร์เก็บคำถามของคุณและส่วนหัวของแพ็กเก็ตเอง

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


1
พยายามที่จะร่างคำตอบของ William ในขณะที่อ้างถึง Diogo ในระหว่างการเดินทางไปโหวตพวกเขาด้วย! :)
Tamara Wijsman

2
และฉันพยายามที่จะรวดเร็วเมื่อฉันควรจะเขียนคำตอบอย่างละเอียดเช่นนี้! ฉันมักจะพลาดคำตอบเหล่านี้ที่ท้องฟ้าจรวด !!!
William Hilsum

27

การอัปโหลดของคุณเป็นไปตามหลักโดยข้อกำหนดที่คุณทำในการพิมพ์ที่อยู่ (ตัวอย่างเช่น www.google.com) ไปยังเว็บเซิร์ฟเวอร์เพื่อขอ เชื่อมต่อHTTPไปยังเว็บไซต์นั้น หลังจากการร้องขอเหล่านี้จุดต่อไปของการอัปโหลดคือACK s (กิตติกรรมประกาศจากการเชื่อมต่อTCPบนโปรโตคอล HTTP ) ในกระบวนการจับมือกัน :

ในระบบเครือข่ายข้อมูลการตอบรับ (หรือการตอบรับ) เป็นสัญญาณที่ส่งผ่านระหว่างกระบวนการสื่อสารหรือคอมพิวเตอร์เพื่อบ่งบอกถึงการตอบรับหรือการตอบรับซึ่งเป็นส่วนหนึ่งของโปรโตคอลการสื่อสาร ตัวอย่างเช่นแพ็คเก็ต ACK จะใช้ใน Transmission Control Protocol เพื่อรับทราบการรับแพ็คเก็ต SYN เมื่อสร้างการเชื่อมต่อแพ็กเก็ตข้อมูลในขณะที่มีการใช้การเชื่อมต่อและแพ็คเก็ต FIN เมื่อยุติการเชื่อมต่อ

หากต้องการเป็นตัวอย่างให้ดูที่แผนภาพ TCP (คุณใช้ TCP ในการท่องอินเทอร์เน็ต):

แผนภาพ


15

เมื่อคุณออนไลน์ค่อนข้างง่ายทุกสิ่งที่มาจากเป้าหมายระยะไกลคือการดาวน์โหลดและทุกสิ่งที่คุณส่งเป็นการอัปโหลด

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

การใช้งาน 3MB ต่อชั่วโมงนั้นไม่มากเท่าไหร่!


เมื่อฉันขอหน้าแล้วทุกอย่างที่เกี่ยวข้องกับหน้านั้นมาโดยอัตโนมัติหรือสำหรับแต่ละองค์ประกอบคำขอแยกต่างหากที่คุณพูดถึง?
Deb

1
@Debabratta คำขอแยกต่างหากจะถูกส่งไปสำหรับแต่ละทรัพยากร หนึ่งรายการสำหรับหน้า (ที่มีเนื้อหา - ข้อความมาร์กอัป - เลย์เอาต์ ฯลฯ ) แต่ละรายการสำหรับรูปภาพต่างๆไฟล์จาวาสคริปต์ไฟล์ css ที่อ้างถึงในหน้า (บางครั้งเบราว์เซอร์ใช้แคช - สำเนาของภาพที่คุณดาวน์โหลดครั้งล่าสุดที่คุณเยี่ยมชมหน้านี้ แต่ยังเกี่ยวข้องกับการร้องขอเพื่อดูว่าภาพมีการเปลี่ยนแปลง) การร้องขอจากแฟลชซิลเวอร์ไลท์หรือปลั๊กอินอื่น ๆ
Nivas

2

มากกว่าแพ็กเก็ต TCP และ HTTP ธรรมดาคุณควรเรียนรู้เกี่ยวกับข้อมูลพิเศษบางอย่างซึ่งติดตามโดยแทร็กเกอร์ ได้รับข้อมูลในเว็บไซต์เฉพาะ Ghostery

พวกเขาทำให้ข้อมูลที่จำเป็นใหญ่ขึ้นเท่านั้น!


0

การแยกย่อยที่ง่ายกว่า:

  • แพ็กเก็ต TCP เพื่อเปิดการเชื่อมต่อกับเซิร์ฟเวอร์
  • HTTP ร้องขอแพ็คเก็ตสำหรับแต่ละองค์ประกอบของหน้าเว็บ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.