วิดีโอและคำบรรยาย · ตัวดาวน์โหลดสื่อโดยตรง
กายวิภาคของ URL: เหตุใดที่อยู่ของหน้าจึงไม่ใช่ที่อยู่ของไฟล์ที่ดาวน์โหลดได้
· พื้นหลัง
URL ดาวน์โหลด ข้อมูลพื้นฐานเกี่ยวกับเว็บ
URL ทุกส่วนมีส่วนเหมือนกัน แต่มีเพียงบางส่วนเท่านั้นที่ชี้ไปที่ไฟล์ที่ดาวน์โหลดได้ โพสต์นี้จะแจกแจงโครงร่าง โฮสต์ เส้นทาง ข้อความค้นหา และส่วนย่อย และแสดงวิธีการอ่านลิงก์ก่อนที่จะวางลงในตัวดาวน์โหลด
ลิงก์จากแถบที่อยู่ไม่ได้ดาวน์โหลดอะไรเลย — ความสับสนระหว่างตำแหน่งที่หน้าอยู่และตำแหน่งที่ไฟล์อยู่
แถบที่อยู่ของเบราว์เซอร์มักจะตั้งชื่อเอกสารที่กำลังดู ไม่ใช่การตอบกลับสื่อแบบสแตนด์อโลน การคัดลอกจะรักษาตำแหน่งไว้อย่างถูกต้อง แต่ตำแหน่งอาจอธิบายแอปพลิเคชันเครื่องเล่นมากกว่าไบต์ที่แสดงโดยแอปพลิเคชันนั้น
ที่อยู่ไฟล์ที่ดาวน์โหลดได้คือทรัพยากร HTTP ซึ่งมีเนื้อหาการตอบกลับเป็นไฟล์ที่ต้องการ URL รูปลักษณ์ภายนอกสามารถบ่งบอกถึงความสัมพันธ์นั้นได้ แต่ไม่สามารถสร้างขึ้นได้หากไม่มีหลักฐานการติดต่อและการตอบสนอง คำถามแรกที่เป็นประโยชน์จึงไม่ใช่ "สิ่งนี้ดูเหมือนวิดีโอหรือไม่" แต่ “ผู้จัดพิมพ์บอกว่าที่อยู่นี้หมายถึงแหล่งข้อมูลใด” เริ่มต้นด้วยการถามว่าแหล่งข้อมูลใดที่ผู้จัดพิมพ์ตั้งใจให้คัดลอกที่อยู่เพื่อเป็นตัวแทน ไม่ใช่ว่ามีคำที่คุ้นเคยปรากฏอยู่ที่ไหนสักแห่งในนั้นหรือไม่
โครงการและโฮสต์ — https, โดเมน และเหตุใดโฮสต์จึงเป็นส่วนที่เครื่องมือประกาศก่อนที่จะติดต่อ
ใน `https://cdn.example:8443/archive/cut.mp4` นั้น HTTPS เป็นรูปแบบ cdn.example เป็นชื่อโฮสต์ และ 8443 เป็นพอร์ตที่ชัดเจน ต้นกำเนิดรวมส่วนประกอบเหล่านั้นเข้าด้วยกัน
Direct Media Downloader ยอมรับ HTTPS เท่านั้น และประกาศชื่อโฮสต์ที่ทำให้เป็นมาตรฐานก่อนที่จะติดต่อ โดยจะปฏิเสธข้อมูลรับรองที่ฝังอยู่หน้าโฮสต์และปลายทางส่วนตัวหรือภายในที่รู้จัก รวมถึงแบบฟอร์มที่อยู่ที่สร้างความสับสน พอร์ตที่ไม่ใช่ค่าเริ่มต้นที่ชัดเจนสามารถระบุบริการแยกต่างหากได้ ดังนั้นอย่าละเว้นโดยคิดเพียงเพราะการประกาศ UI จะเน้นชื่อโฮสต์ พอร์ตที่ชัดเจนยังคงเป็นส่วนหนึ่งของต้นทางและอาจระบุบริการที่แตกต่าง แม้ว่าการประกาศสั้นๆ จะเน้นชื่อโฮสต์ก็ตาม
เส้นทาง — โฟลเดอร์และส่วนสุดท้าย ซึ่งโดยปกติแล้วชื่อไฟล์และนามสกุลจะปรากฏขึ้น
เส้นทางเริ่มต้นหลังจากผู้มีอำนาจและถูกหารด้วยเครื่องหมายทับ ส่วนสุดท้ายมักจะคล้ายกับชื่อไฟล์ ซึ่ง ToolAcre สามารถใช้ได้หากการจัดการเนื้อหาไม่มีคำแนะนำที่ดีกว่า
“บ่อยครั้ง” ไม่ใช่ข้อพิสูจน์ `/watch/abc`, `/download/42` และ `/asset.mp4` เป็นเส้นทางที่เซิร์ฟเวอร์กำหนด รายการใดๆ สามารถส่งคืน HTML สื่อ ข้อผิดพลาด หรือการเปลี่ยนเส้นทางตามพฤติกรรมของโฮสต์ อักขระที่เข้ารหัสเป็นเปอร์เซ็นต์ยังสามารถเปลี่ยนเส้นทางที่มองเห็นได้หลังจากการถอดรหัส ทำให้มุมมองที่แยกวิเคราะห์ของเบราว์เซอร์ปลอดภัยในการตรวจสอบมากกว่าการแยกสตริงทั่วไป การเข้ารหัสเปอร์เซ็นต์สามารถทำให้ส่วนสุดท้ายที่แสดงแตกต่างออกไปหลังจากการถอดรหัส ซึ่งเป็นอีกเหตุผลหนึ่งที่ต้องใช้การแยกวิเคราะห์แบบมีโครงสร้างแทนการแยกเครื่องหมายทับ
ข้อความค้นหาและส่วนย่อย — พารามิเตอร์ โทเค็นและจุดยึด และเหตุใดการสืบค้น ?v=ID จึงไม่ชี้ไปที่ไฟล์วิดีโอ
การสืบค้นเริ่มต้นด้วยเครื่องหมายคำถามและสามารถเลือกทรัพยากร อนุญาตลิงก์ที่เซ็นชื่อ หรือดำเนินการวิเคราะห์ได้ แฟรกเมนต์เริ่มต้นด้วย `#` และโดยปกติจะเลือกสถานะเอกสารฝั่งไคลเอ็นต์ แทนที่จะส่งไปในคำขอ HTTP
พารามิเตอร์เช่น `v=ID` โดยทั่วไปจะระบุสถานะของหน้า ไม่ได้หมายความว่าการตอบสนองเป็นไฟล์วิดีโอ ToolAcre รักษาลายเซ็นที่รับน้ำหนักในขณะที่ลบรายการค่าการติดตามแบบอนุรักษ์นิยมในระหว่างการทำให้เป็นมาตรฐาน แฟรกเมนต์ยังคงมีอิทธิพลต่อสิ่งที่เพจแสดงหลังจากการนำทาง ซึ่งเป็นสาเหตุที่สำเนาแถบที่อยู่อาจรักษาสถานะอินเทอร์เฟซที่ไม่เกี่ยวข้องกับการตอบสนองของเซิร์ฟเวอร์ แฟรกเมนต์อาจยังคงเปลี่ยนแปลงสถานะของเพจฝั่งไคลเอ็นต์หลังจากการนำทาง แม้ว่าจะไม่อยู่ในคำขอที่ส่งไปยังเซิร์ฟเวอร์ก็ตาม
วิธีระบุลิงก์ไฟล์โดยตรงที่น่าจะเป็นไปได้ — ส่วนขยาย ไม่มีหน้าผู้เล่น และโฮสต์ที่ให้บริการไฟล์มากกว่าหน้า
ลิงก์โดยตรงที่เป็นไปได้มีโฮสต์สาธารณะที่คาดหวังและเส้นทางที่ผู้จัดพิมพ์ระบุสำหรับไฟล์ ส่วนขยายที่คุ้นเคยนั้นเป็นเบาะแส และคำแนะนำในการดาวน์โหลดอย่างเป็นทางการนั้นมีบริบทที่ชัดเจนกว่าที่อยู่ของผู้เล่นที่คัดลอกมา
ตรวจสอบลิงค์แล้วสามารถขอส่วนหัวได้ ประเภทเนื้อหาของสื่อสนับสนุนสมมติฐาน ในขณะที่ `text/html` แจ้งเตือน การตอบสนองยังคงสามารถติดป้ายกำกับผิดได้ ดังนั้นการดาวน์โหลดและการเล่นที่ประสบความสำเร็จยังคงเป็นข้อสังเกตในภายหลัง ปุ่มดาวน์โหลดบนหน้าของผู้จัดพิมพ์เป็นหลักฐานที่ชัดเจนของการดึงข้อมูลโดยตั้งใจมากกว่าคำขอวิศวกรรมย้อนกลับที่ส่งเพื่อการเล่นเท่านั้น คำแนะนำการดาวน์โหลดอย่างเป็นทางการจากผู้จัดพิมพ์ให้บริบทที่ชัดเจนกว่าการทำวิศวกรรมย้อนกลับกับเนื้อหาที่สังเกตได้เฉพาะระหว่างการเล่นที่มีการป้องกันเท่านั้น
ตัวอย่างการทำงาน: การแยกรูปร่างลิงก์ห้ารูปแบบ — ไฟล์ CDN, ตัวย่อ, หน้าสำหรับดู, URL ที่ลงนามแล้ว และหน้าที่มีส่วนย่อย
เปรียบเทียบห้ารูปร่าง: เส้นทาง CDN ที่สิ้นสุด `.mp4`; ลิงค์สั้น ๆ ที่เปลี่ยนเส้นทาง หน้าสำหรับดูที่มีการสืบค้นรหัส เส้นทางการจัดเก็บที่มีลายเซ็นและการหมดอายุ และส่วนของเอกสาร
ประการแรกมีลักษณะเหมือนไฟล์ ประการที่สองซ่อนโฮสต์สุดท้าย ประการที่สามมีลักษณะเหมือนหน้า ประการที่สี่อาจใช้ได้ชั่วคราวเท่านั้น และส่วนที่ห้าไม่ได้รับการส่ง เฉพาะการตอบกลับ HTTP จริงเท่านั้นที่จะกำหนดความสามารถในการเข้าถึงและป้ายกำกับ ตัวย่อควรขยายผ่านการร้องขอที่ได้รับอนุญาตและสังเกตได้แทนที่จะเดา การสร้างแบรนด์ไม่ได้บอกถึงข้อสรุปเกี่ยวกับแหล่งที่มาของการจัดเก็บข้อมูลขั้นสุดท้าย ขยายตัวย่อผ่านคำขอที่สังเกตได้เท่านั้น เนื่องจากแบรนด์ของมันเพียงอย่างเดียวไม่สามารถระบุผู้ดำเนินการจัดเก็บข้อมูลขั้นสูงสุดได้
สิ่งนี้ไม่ครอบคลุมถึง — URL เพียงอย่างเดียวไม่สามารถพิสูจน์ได้ว่ามีไฟล์อยู่หรือเป็นประเภทใดจริงๆ
URL การแยกวิเคราะห์ไม่สามารถพิสูจน์การมีอยู่ ประเภทเนื้อหา ความยาว การอนุญาต ความปลอดภัย หรือการอนุญาตทางกฎหมาย นอกจากนี้ยังไม่สามารถคาดเดาปลายทางการเปลี่ยนเส้นทางได้โดยไม่ต้องออกคำขอ
ผลลัพธ์ด้านความปลอดภัยในพื้นที่หมายถึงแผนการผ่านปลายทางเริ่มต้นและนโยบายของเจ้าบ้าน ถือเป็นการอนุญาตสำหรับแอปพลิเคชันในการนำเสนอการควบคุมเครือข่าย ไม่ใช่เป็นการตัดสินว่าเซิร์ฟเวอร์จะจัดหาสื่อที่สามารถเล่นได้ พฤติกรรม DNS และการเปลี่ยนเส้นทางในอนาคตยังคงมีขอบเขตเพิ่มเติม ดังนั้นองค์กรที่มีรายการที่อนุญาตที่เข้มงวดจึงจำเป็นต้องมีการควบคุมเครือข่ายนอกเหนือจากตัวแยกวิเคราะห์ฝั่งไคลเอ็นต์นี้ องค์กรที่เข้มงวดควรรวมโปรแกรมแยกวิเคราะห์นี้เข้ากับ DNS และการควบคุมข้อมูลออก เมื่อการแก้ไขหรือพฤติกรรมการเปลี่ยนเส้นทางในภายหลังต้องเป็นไปตามรายการที่อนุญาต
ประเด็นสำคัญ: อ่านลิงก์ก่อนที่จะวาง — การตรวจสอบ URL ของ Direct Media Downloader จะอ่านค่าแบบเดียวกันสำหรับคุณได้อย่างไร
อ่านที่อยู่ในเลเยอร์ก่อนวาง: โปรโตคอล ชื่อโฮสต์ พอร์ต เส้นทาง ข้อความค้นหา และส่วนย่อย ติดตามการล้างข้อมูลให้แตกต่างจากการเก็บรักษาลายเซ็น และอย่าอนุมานสิทธิ์จากสตริงที่ดูเป็นสาธารณะ
Direct Media Downloader จะใช้การอ่านโครงสร้างนั้นในเครื่อง จากนั้นจึงรอการดำเนินการ คำขอเพิ่มเติม HEAD และ GET ที่ตามมาจะตอบคำถามต่างๆ ที่ไวยากรณ์เพียงอย่างเดียวไม่สามารถทำได้ การอ่านแบบเลเยอร์นี้จะป้องกันทั้งผลบวกลวงและการรับประกันที่ผิดพลาด ในขณะเดียวกันก็รักษาข้อมูลการสืบค้นที่มีการเซ็นชื่อที่เป็นประโยชน์ ซึ่งจำเป็นสำหรับระบบการจัดส่งที่ถูกต้องตามกฎหมาย วิธีการแบบเป็นชั้นนี้จะรักษาพารามิเตอร์ที่เซ็นชื่อที่ถูกต้องตามกฎหมาย ในขณะเดียวกันก็ป้องกันไม่ให้ความคุ้นเคยทางสายตาถูกเข้าใจผิดว่าได้รับอนุญาตหรือมีอยู่จริง