ไทย

วิดีโอและคำบรรยาย · ตัวดาวน์โหลดสื่อโดยตรง

MIME ประเภทและประเภทเนื้อหา: วิธีที่เว็บติดป้ายกำกับไฟล์สื่อสำหรับการดาวน์โหลด

· พื้นหลัง

http สื่อ ข้อมูลพื้นฐานเกี่ยวกับเว็บ

ป้ายกำกับประเภทเนื้อหาตอบกลับที่สอดคล้องกับไฟล์สื่อที่ดาวน์โหลด
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

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

ไฟล์นี้เรียกว่า .mp4 แต่เบราว์เซอร์จะถือว่าไฟล์นั้นเป็นข้อความ — เนื่องจากประเภท MIME ที่ไม่ตรงกันได้รับการออกแบบมาเพื่อป้องกัน

เส้นทางที่สิ้นสุด `.mp4` สามารถใช้เป็นข้อความได้ ในขณะที่เส้นทางที่ไม่มีส่วนต่อท้ายสามารถมีวิดีโอที่ถูกต้องได้ ส่วนขยายเป็นของชื่อ HTTP ประเภทเนื้อหาเป็นของข้อมูลเมตาการตอบกลับ

Direct Media Downloader จะอ่านส่วนหัวนั้นในช่วง HEAD เมื่อ CORS เปิดเผยส่วนหัวดังกล่าวและอีกครั้งจาก GET โดยจะแสดงค่า ใช้เป็นประเภท Blob และถือว่าค่าที่ดูสื่อเป็นคำแนะนำแทนที่จะเป็นใบรับรองการบล็อก ส่วนหัวที่ไม่ถูกต้องจึงสามารถปรับเปลี่ยนพฤติกรรมก่อนที่ผู้เล่นจะตรวจสอบเพย์โหลด โดยเฉพาะอย่างยิ่งเมื่อการตอบสนองจะแสดงแบบอินไลน์ ป้ายที่ไม่ถูกต้องอาจส่งผลต่อการจัดการก่อนที่ผู้เล่นจะตรวจสอบร่างกาย โดยเฉพาะอย่างยิ่งเมื่อเบราว์เซอร์แสดงผลสื่อแบบอินไลน์

ตั้งแต่ไฟล์แนบในอีเมลไปจนถึง HTTP — ประเภทของ MIME เริ่มต้นอย่างไรในการติดป้ายกำกับส่วนต่างๆ ของอีเมล และกลายเป็นระบบติดป้ายกำกับไฟล์ของเว็บ

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

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

การอ่านส่วนหัว Content-Type — ประเภท ประเภทย่อย และพารามิเตอร์ โดยมี video/mp4, audio/mpeg และ application/octet-stream ในกรณีทั่วไป

`video/mp4` อธิบาย MP4 การแสดงสื่อ `audio/mpeg` อธิบาย MPEG เสียง และ `application/octet-stream` เป็นป้ายกำกับไบนารีทั่วไป พารามิเตอร์ชุดอักขระเป็นเรื่องปกติสำหรับข้อความ แต่ไม่ได้ระบุตัวแปลงสัญญาณสื่อ

ToolAcre รักษาสตริงส่วนหัวที่สมบูรณ์ คำแนะนำ `looksLikeMedia` รู้จักป้ายกำกับวิดีโอ เสียง และ MPEGURL สตรีมออคเต็ตจะกระตุ้นให้เกิดความระมัดระวังโดยไม่มีการปฏิเสธอัตโนมัติ ควรตีความพารามิเตอร์ภายใต้ข้อกำหนดเฉพาะของประเภทสื่อ การมีอยู่ของพวกมันไม่ได้เปลี่ยนประเภทระดับบนสุดหนึ่งไปเป็นอีกประเภทหนึ่ง ต้องอ่านพารามิเตอร์ภายใต้คำจำกัดความประเภทที่เกี่ยวข้อง การมีอยู่ของพวกมันไม่ได้เปลี่ยนการตอบสนองแบบไบนารีไปเป็นตระกูลระดับบนสุดที่แตกต่างกัน

การดมกลิ่นและขีดจำกัด — เหตุใดบางครั้งเบราว์เซอร์จึงคาดเดา และเหตุใดการเดาจึงอาจผิดหรือจงใจปิดการใช้งาน

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

ตัวดาวน์โหลดไม่ได้ใช้เครื่องสแกนลายเซ็นของตัวเอง มันไม่เปิดคอนเทนเนอร์หรือแทนที่ MIME ที่ประกาศหลังจากตรวจสอบตัวแปลงสัญญาณ ดังนั้นหลีกเลี่ยงการอ้างว่าแก้ไขข้อมูลเมตาของโฮสต์แล้ว ส่วนหัวด้านความปลอดภัย เช่น `X-Content-Type-Options: nosniff` สามารถจำกัดการคาดเดาโดยเจตนา ทำให้มีความรับผิดชอบมากขึ้นในการกำหนดค่าเซิร์ฟเวอร์ที่แม่นยำ การตอบสนอง `nosniff` สามารถลดการคาดเดาโดยเจตนา ทำให้ข้อมูลเมตาของแหล่งกำเนิดที่ถูกต้องมีความสำคัญมากกว่าการเชิญชวนให้ไคลเอ็นต์ซ่อมแซม

ส่วนขยายเทียบกับประเภท MIME — ซึ่งผู้เล่น ระบบปฏิบัติการ และเครื่องมือเบราว์เซอร์เชื่อถือได้จริงๆ

ผู้เล่นและระบบปฏิบัติการอาจพิจารณาส่วนขยาย MIME ลายเซ็นไบต์ และตัวแปลงสัญญาณที่มีอยู่ในลำดับที่แตกต่างกัน ไม่มีฉลากใดที่จะชนะผู้บริโภคทุกคนได้ในระดับสากล

ชื่อไฟล์สำรองของ ToolAcre จะใช้ Content-Type เฉพาะเมื่อ Content-Disposition และส่วนเส้นทางสุดท้ายหายไป รู้จัก WebM และ MP4 ที่นั่น มิฉะนั้น ชื่อสามัญจะลงท้ายด้วย `.bin` เวิร์กโฟลว์การเก็บถาวรควรบันทึกป้ายกำกับทั้งสอง เนื่องจากความขัดแย้งถือเป็นหลักฐานในการวินิจฉัย ไม่ใช่เหตุผลที่จะเขียนทับป้ายกำกับอื่นโดยไม่ตั้งใจ เก็บถาวรทั้งสองค่าเมื่อไม่เห็นด้วย เนื่องจากความไม่ตรงกันนั้นเป็นหลักฐานการวินิจฉัยที่มีประโยชน์เกี่ยวกับการกำหนดค่าการนำส่ง

ตัวอย่างการทำงาน: การแก้ไขที่เก็บข้อมูลที่ให้บริการทุกอย่างในรูปแบบ octet-stream — การเปลี่ยนแปลงอะไรในการดาวน์โหลดและไฟล์ที่บันทึกไว้

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

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

สิ่งนี้ไม่ครอบคลุมถึงคอนเทนเนอร์และตัวแปลงสัญญาณภายในไฟล์ ซึ่งไม่มีส่วนหัวใดสามารถรับประกันได้

Content-Type ไม่สามารถรับประกันความถูกต้องของคอนเทนเนอร์ ตัวแปลงสัญญาณ ระยะเวลา ความสมบูรณ์ ความปลอดภัย หรือความสามารถในการเล่น เซิร์ฟเวอร์อาจโกหกโดยไม่ได้ตั้งใจหรือจงใจ และการถ่ายโอนอาจสิ้นสุดลงก่อนระยะเวลาที่สัญญาไว้

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

ประเด็นสำคัญ: ป้ายกำกับมีความสำคัญ — ประเภทเนื้อหาของลิงก์โดยตรงจะกำหนดรูปร่างของสิ่งที่ Direct Media Downloader บันทึกได้อย่างไร

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

Direct Media Downloader รายงานประเภทที่ขาดเป็น “ไม่ได้ระบุโดยเซิร์ฟเวอร์” และหลีกเลี่ยงการสร้างประเภทที่นอกเหนือจากทางเลือก Blob ความยับยั้งชั่งใจนั้นทำให้บุคคลที่สามารถแก้ไขโฮสต์มองเห็นการกำหนดค่าที่ไม่ถูกต้องได้ สำหรับเจ้าของโฮสต์ การแก้ไขข้อมูลเมตา ณ เวลาอัปโหลดจะเป็นประโยชน์ต่อเบราว์เซอร์และไคลเอนต์ทุกตัว แทนที่จะกำหนดให้ผู้เยี่ยมชมแต่ละคนซ่อมแซมป้ายกำกับหลังจากดาวน์โหลด ตรวจสอบการตอบกลับที่ส่งอีกครั้งในภายหลัง