การดาวน์โหลดจะลงทะเบียนเมื่อใด


21

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


4
ลงทะเบียนโดยใคร ซอฟต์แวร์วิเคราะห์บันทึกข้อมูลจำนวนมาก (เช่น awstats, goaccess) จะพิจารณาดาวน์โหลดไฟล์ใด ๆ ที่มีคำต่อท้ายเฉพาะ (.zip, .pdf ... ) รายการส่วนขยายมักจะสามารถกำหนดค่าได้ ซอฟต์แวร์อื่น ๆ อาจใช้วิธีการที่แตกต่างกัน
jjmontes

คำตอบ:


52

เห็นได้จากฝั่งเซิร์ฟเวอร์ไม่มีความแตกต่างทางเทคนิคระหว่าง "การถ่ายโอนเพื่อดูในหน้าต่างเบราว์เซอร์" และ "ดาวน์โหลดเพื่อการจัดเก็บ"

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

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

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


12
Heck: "บันทึกเป็น" อาจหรือไม่เริ่มทำการดาวน์โหลดโดยไม่คำนึงถึงการยกเลิก - หากเบราว์เซอร์มีภาพอยู่แล้วเหตุใดจึงร้องขอรูปภาพนั้นจากเซิร์ฟเวอร์อีกครั้ง
minnmass

6
ที่จริงแล้วอาจมีความแตกต่างในแง่ของContent-Dispositionส่วนหัว HTTP : inlineระบุมุมมองในเบราว์เซอร์ซึ่งattachmentเป็นการดาวน์โหลด
Uwe Keim

13
@UweKeim มันเป็นคำใบ้จากเซิร์ฟเวอร์ โดยทั่วไปแล้วเบราว์เซอร์จะติดตาม แต่เซิร์ฟเวอร์ไม่มีวิธีตัดสินว่าไคลเอนต์นั้นเป็นเบราว์เซอร์จริงหรือไม่และจะเคารพส่วนหัวนี้หรือไม่ curl https://www.google.com/ -H 'User-Agent: I am really a web browser, trust me' >> /dev/null;)
ElmoVanKielmo

1
... และเพื่อแสดงให้เห็นว่ามันเป็นมากกว่าทฤษฎีให้พิจารณา PDF ในอดีตเบราว์เซอร์เหล่านั้นได้รับการปฏิบัติเหมือนเป็นการดาวน์โหลด แต่เบราว์เซอร์สมัยใหม่สามารถแสดงได้โดยตรง
MSalters

1
เบราว์เซอร์จะเริ่มต้นการดาวน์โหลดยกเว้นว่า URL ฯลฯ นั้นอยู่ในแคชของเบราว์เซอร์แล้ว มิฉะนั้นเบราว์เซอร์ไม่มีวิธีที่จะบอกว่าชื่อไฟล์อาจเป็นประเภทของเอกสารหรือแม้ว่าจะมีเนื้อหาไฟล์ใด ๆ ที่จะบันทึก เบราว์เซอร์จะส่งคำขอไปยังเซิร์ฟเวอร์บางประเภทและเซิร์ฟเวอร์จะ "นับ" ตามที่ต้องการ
Christopher Schultz

7

เนื่องจากฉันไม่เชี่ยวชาญในหัวข้อนี้การใช้ "เซิร์ฟเวอร์" ของฉันครอบคลุมสิ่งที่เอนทิตีอาจบันทึก / ดู / บันทึกกิจกรรมดังกล่าว

แม้ว่าเซิร์ฟเวอร์ HTTP จะไม่เห็นการดาวน์โหลดที่ถูกยกเลิก แต่อาจมีรหัส Javascript ในหน้าเว็บที่ตรวจสอบเหตุการณ์ดังกล่าว

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

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


1
"บันทึกเป้าหมายเป็น" โดยปกติแล้วจะติดต่อเซิร์ฟเวอร์เพื่อรับชื่อไฟล์ประเภทขนาด อาจจะมีHEADการร้องขอ HTTP GETมากกว่า
Ben Voigt

@BenVoigt มีความแตกต่างอย่างมากระหว่าง "บันทึกเป้าหมายเป็น" และ "บันทึกภาพเป็น" หนึ่งสำหรับลิงค์อื่น ๆ สำหรับภาพที่มองเห็นแล้วและได้รับการดาวน์โหลดมาก่อน
Josef

@Josef: จริง แต่ฉันไม่เห็นอะไรเลยในคำถามที่ระบุว่า OP ต้องการ จำกัด ตัวเองให้อยู่ในเนื้อหาที่มีอยู่แล้วในแคช ในความเป็นจริงฉันเห็นข้อเสนอแนะที่แข็งแกร่งไปในทางตรงกันข้ามในวลี 'ยกเลิกก่อนที่จะบันทึกสิ่งใด ๆ '
Ben Voigt

6

นี่ขึ้นอยู่กับเซิร์ฟเวอร์

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

เซิร์ฟเวอร์ยังสามารถติดตามจำนวนไบต์ที่ถูกถ่ายโอนและหาก / เมื่อการเชื่อมต่อถูกปิดซึ่งสามารถแสดงว่า diwnload เสร็จสมบูรณ์หรือไม่

นอกจากนี้ยังมีความเป็นไปได้อื่น ๆ เช่น dowload ที่ดำเนินการต่อและการดาวน์โหลดแบบมัลติเธรด - แต่เซิร์ฟเวอร์ก็สามารถรู้และบันทึกทั้งหมดนี้ได้อีกครั้ง

โปรดทราบว่าในบางกรณีของการคลิกขวาและดาวน์โหลดรูปภาพเป็นไปได้ว่าการดาวน์โหลดจะไม่ลงทะเบียนเป็นการดาวน์โหลดเลยเนื่องจากการแคชฝั่งไคลเอ็นต์


เซิร์ฟเวอร์ไม่แนะนำชื่อ ไม่มีการร้องขอเครือข่ายเพิ่มเติมเมื่อฉันคลิกขวาที่รูปประจำตัวของคุณและเลือก "บันทึกภาพเป็น"
DavidPostill

9
@DavidPostill ขึ้นอยู่กับวิธีการเริ่มต้นการดาวน์โหลด ถ้าคุณทำตามการเชื่อมโยงหรือเปลี่ยนเส้นทางไปยังทรัพยากรและการตอบสนองของเซิร์ฟเวอร์ด้วยContent-Disposition: attachment; filename="…"เพื่อให้การแสดงที่เบราว์เซอร์ดาวน์โหลดพรอมต์แล้วแม้ในขณะที่การยกเลิกการดาวน์โหลดเซิร์ฟเวอร์จะรู้เกี่ยวกับการร้องขอ - และอาจจะได้เห็นความแตกต่างที่ดาวน์โหลดถูกยกเลิก
Bergi

4

หาก ... คุณยกเลิกก่อนที่จะมีการบันทึกสิ่งใด ๆ "เซิร์ฟเวอร์" จะแจ้งให้ทราบ / บันทึกสิ่งนี้เป็นการดาวน์โหลดหรือไม่?

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

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

การตรวจสอบ "เอนทิตี" ใด ๆ ที่เครื่องท้องถิ่นของคุณโดยตรงสามารถบันทึกบางอย่างเกี่ยวกับกิจกรรมนั้น


2
"บันทึกเป็น ... " จะส่งคำขอใช่ไหม เบราว์เซอร์ต้องทราบชื่อที่จะแนะนำสำหรับหนึ่งรายการ url migh เป็นแบบธรรมดา / ดาวน์โหลด แต่Content-Dispositionส่วนหัวจะมีชื่อไฟล์จริง
ข้อมูล

1
@ ข้อมูลไม่ได้ชื่ออยู่ใน html ของหน้าดาวน์โหลด
DavidPostill

1
โปรดทราบว่าเบราว์เซอร์บางตัวเช่น Chrome ที่ดาวน์โหลดล่วงหน้าและแคช URL อย่างกระตือรือร้นที่ปรากฏในหน้าเว็บที่คุณเข้าชม
Tobia Tesan

3
@DavidPostill คุณเข้าใจผิด ชื่อสามารถถูกแทนที่โดยContent-Dispositionส่วนหัว (พูดถึงคุณแล้วสองสามครั้ง) หมายถึงการร้องขอจะต้องทำก่อน นอกจากนี้เบราว์เซอร์สามารถและเริ่มทำการดาวน์โหลด payload ก่อนที่คุณจะเลือกไดเรกทอรีปลายทาง
การแข่งขัน Lightness กับ Monica

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