الفيديو والترجمات · تنزيل الوسائط المباشرة
مصدر اسم الملف الذي تم تنزيله: URL المسار مقابل ترتيب المحتوى
· كيف يعمل
http التنزيلات وسائط
يشرح كيف يقرر المتصفح ما سيتم استدعاؤه للملف المحفوظ: الجزء الأخير من URL، ورأس ترتيب المحتوى الخاص بالخادم، وسمة التنزيل التي يمكن للأداة تعيينها. يوضح لماذا لا يزال URL النظيف ينتج عنه في بعض الأحيان اسم ملف سيئ.
تم حفظ الملف باسم "file.php" ولن يتم فتحه - مشكلة التسمية التي يمكن أن يخفيها الرابط المباشر
يمكن أن يؤدي URL المنتهي بـ `file.php?id=42` إلى تسليم بايتات فيديو أثناء مغادرة المتصفح باسم مسار غير مفيد. وعلى العكس من ذلك، يمكن للعنوان الذي ينتهي بـ `.mp4` أن يعرض HTML. اسم الملف هو تسمية يتم اختيارها من بيانات تعريف الطلب والاستجابة، وليس دليلاً على الحمولة الموجودة بداخله.
يقوم Direct Media Downloader بحساب الاسم المقترح فقط بعد وصول استجابة GET الناجحة. فهو يتحقق من ترتيب المحتوى أولاً، ثم آخر مقطع مسار غير فارغ، ثم إجراء احتياطي صغير يستند إلى MIME. هذا الترتيب أضيق وأكثر قابلية للتنبؤ به من الادعاء بأن المتصفح يقوم بإجراء تفاوض عالمي. يمنع هذا الفصل تسرب مواد الترخيص المؤقتة إلى اسم القرص ويتجنب أحرف اسم الملف غير القانونية التي تساهم بها سلسلة استعلام بأكملها.
مقطع المسار الأخير: التخمين الافتراضي - كيف يقرأ المتصفح اسم الملف من URL وأين تربكه سلاسل الاستعلام
مرشح المسار هو الجزء الأخير بعد فصل الشرطة المائلة، والذي تم فك تشفيره من تشفير النسبة المئوية. لم يتم تضمين معلمات الاستعلام لأن URL API يخزنها بشكل منفصل. وبالتالي فإن `/episodes/launch.mp3?token=...` ينتج عنه `launch.mp3`، بينما لا تحتوي الشرطة المائلة اللاحقة على مقطع نهائي وتحتاج إلى مصدر آخر.
لا تقرر قاعدة المسار هذه ما إذا كان الامتداد صادقًا أم لا. يمكن لمسار التسليم الموقع إخفاء العنوان البشري في المعلمة، ولن يؤدي هذا التنفيذ إلى استخراج مفاتيح استعلام عشوائية للأسماء. يتجنب هذا التقييد الخلط بين مكون التوقيع أو قيمة الحملة أو معرف السجل لاسم الملف. عند وجود كلا النموذجين، يمكن للنموذج الدولي الحفاظ على الأسماء غير ASCII بشكل أكثر وضوحًا، بينما يعالج البديل عمليات تنفيذ الخادم الأبسط.
التصرف في المحتوى: اقتراح الخادم - كيف يمكن للرأس أن يتجاوز اسم URL ولماذا تقوم بعض شبكات CDN بتعيينه والبعض الآخر لا يفعل ذلك
يمكن أن يتضمن ترتيب المحتوى اقتراحًا عاديًا `filename=` أو نموذجًا مشفرًا UTF-8 `filename*=`. ToolAcre يعطي الأسبقية لشكل النجمة المشفر ويحاول فك التشفير بنسبة مئوية؛ إذا فشل فك التشفير، فإنه ينتقل إلى النموذج العادي ثم إلى منطق المسار بدلاً من تعطيل عملية النقل المكتملة.
الرأس هو مجرد اقتراح المضيف الخادم. لا يقوم رمز التطبيق بفحص بيانات تعريف الوسائط للتحقق منها، ويمكن أن يقدم الخادم المضلل اسمًا مضللاً. قم بمراجعة الأحرف والامتدادات غير المعتادة قبل فتح الملف، خاصة عندما يكون المضيف المصدر غير مألوف. عناوين URL للكائنات هي مراجع مؤقتة للمستعرض، وليست عناوين بعيدة، ولا يؤدي استخدامها إلى إنشاء تحميل آخر أو طلب HTTP لنص الوسائط.
سمة التنزيل: ما الذي يمكن للأداة تعيينه لنفسها - كيف يمكن لبرنامج التنزيل من جانب المتصفح اختيار اسم لكائن Blob الذي يحفظه
بعد أن يصبح Blob جاهزًا، تقوم واجهة المستخدم بتمرير كل من Blob واسم الملف المحدد إلى أداة التنزيل المشتركة. تقوم هذه الأداة بتشغيل سلوك حفظ المتصفح باستخدام كائن URL واسم التنزيل. لم تعد تتم استشارة رأس الخادم عند تلك النقرة الأخيرة لأن اقتراحه قد تم حله بالفعل.
لا تقوم هذه الآلية بإعادة تسمية ملف قرص موجود أو اختيار مجلد. لا تزال إعدادات المتصفح تحدد ما إذا كان مربع الحوار سيظهر أم لا وكيفية التعامل مع الأسماء المكررة. ToolAcre يوفر مرشحًا واحدًا؛ يظل المتصفح والزائر مسؤولين عن النتيجة النهائية لنظام الملفات. يجب على المستخدمين مقاومة "إصلاح" عدم التطابق عن طريق إعادة التسمية وحدها؛ قم بفحص الحاوية وبرامج الترميز الفعلية قبل تحديد ما إذا كانت البيانات التعريفية أو المحتوى يحتاج إلى تصحيح.
الامتدادات وأنواع MIME: الحفاظ على اتساقها - لماذا يربك الملف المسمى .mp4 الذي هو بالفعل WebM اللاعبين
يمكن أن يؤدي اسم `.mp4` المقترن بـ `video/webm` إلى إرباك البرنامج الذي يقوم بالتوجيه عن طريق الامتداد، على الرغم من أن المشغل القادر قد يقوم بفحص البايتات. ToolAcre يحتفظ بالمسار أو اسم الرأس بدلاً من إعادة كتابة امتداده ليطابق نوع المحتوى. كما أنه يحتفظ بقيمة الخادم MIME على Blob.
في حالة عدم وجود رأس أو مقطع مسار، يتعرف الإجراء الاحتياطي على نوع المحتوى الذي يحتوي على WebM أو MP4 ويعيد `download.webm` أو `download.mp4`؛ ويصبح كل نوع آخر `download.bin`. لا تتلقى قيم الصوت MIME حاليًا امتدادًا خاصًا من خلال فرع الملاذ الأخير هذا. إذا انتهت صلاحية التوقيع بين HEAD وGET، فلن يفوز أي اسم ملف بسبب فشل طلب النص؛ تبدأ التسمية فقط بعد استجابة ناجحة قابلة للقراءة.
مثال عملي: رابط CDN موقع وثلاثة أسماء ملفات محتملة - تعرف على الاسم الذي يفوز ولماذا
خذ عنوان CDN موقعًا وينتهي مساره بـ `asset`، والذي يقول رده `filename*=UTF-8''approved%20cut.mp4`، ونوعه `video/mp4`. يفوز الرأس المشفر وينتج `approved cut.mp4`. قم بإزالة الرأس وسيؤدي المسار إلى `asset`؛ قم بإزالة هذا المقطع أيضًا وسيؤدي MIME إلى إنتاج احتياطي `download.mp4`.
سيفوز `filename="review.webm"` العادي في حالة عدم وجود قيمة نجمة قابلة للاستخدام، حتى لو كان المسار يقول `clip.mp4`. يوضح المثال الأسبقية، وليس التحقق من الصحة. يظل فحص نوع المحتوى وفتح النتيجة المحفوظة في برنامج موثوق بمثابة فحوصات منفصلة بعد اختيار الاسم. يمكن للكتالوج أيضًا تسجيل المجموع الاختباري بعد الحفظ، لكن التجزئة تكون خارج أداة التنزيل هذه ويجب ألا يتم تضمينها ضمنيًا في عدد البايتات المعروض.
ما لا يغطيه هذا هو إعادة التسمية بعد التنزيل، أو تسمية الدُفعات، أو قراءة البيانات الوصفية داخل الملف لتسميته
لا يقوم برنامج التنزيل بترقيم الملفات دفعة واحدة، أو قراءة علامات العنوان من حاوية الوسائط، أو تنظيف كتالوج الأرشيف، أو إصلاح الامتداد المضلل بعد الحفظ. كما أنه لا يمكن أن يعد بأن كل اختلاف نحوي في ترتيب المحتوى سوف يتطابق مع تعبيراته العادية المركزة.
إعادة التسمية لاحقًا هي مهمة نظام التشغيل. إذا كانت تسمية الأرشيف مهمة، فقم بتسجيل المصدر URL ونوع الاستجابة وعدد البايتات والاسم الوصفي المعتمد في الكتالوج الخاص بك. لا تتعامل مع الرأس المناسب كمصدر أو امتداد اسم الملف كهوية تشفير. يعد ترميز النسبة المئوية المشوه في المسار مشكلة أخرى تتعلق بجودة المضيف؛ لا يدعي الإجراء الاحتياطي الحالي أنه يقوم بتطهير كل اسم يقدمه الخادم في قواعد كل نظام تشغيل.
الوجبات الجاهزة: الاسم عبارة عن تفاوض بين URL والرأس والأداة - ما الذي يجب التحقق منه في اسم الملف المحفوظ وامتداده بعد استخدام Direct Media Downloader
الأسبقية المطبقة ملموسة: اسم ملف صالح بنجمة UTF-8، اسم ملف عادي، مقطع المسار النهائي الذي تم فك تشفيره، ثم `download.webm`، أو `download.mp4`، أو `download.bin`. يمكن أن تسمح سلاسل الاستعلام بالتسليم دون أن تصبح جزءًا من الاسم المحفوظ. وهذا ما يفسر العديد من مفاجآت "التنزيل" و"الفهرسة".
بعد استخدام Direct Media Downloader، قارن الاسم والامتداد ونوع المحتوى والمصدر المتوقع وإمكانية التشغيل الفعلية. هذه الملاحظات تجيب على أسئلة مختلفة. يعمل اسم الملف النظيف على تحسين المعالجة، لكن بايتات المضيف والتطبيق المتلقي فقط هي التي تحدد محتوى الملف حقًا. يؤدي اختيار اسم الملف إلى تحسين قابلية الاستخدام، في حين يظل المصدر يأتي من المصدر المعتمد والطلب المسجل والفحص المستقل للبايتات المكتملة.