تقديم وجبة صغيرة
خدمة البايت (أسماء أخرى: طلبات النطاق ؛ خدمة نطاق البايت ؛ [ 1 ] صفحة عند الطلب [ 2 ] ) هي عملية أُدخلت في بروتوكول HTTP 1.1، وتتمثل في إرسال جزء فقط من الرسالة من الخادم إلى العميل. تبدأ خدمة البايت عندما يُعلن خادم HTTP عن استعداده لتلبية الطلبات الجزئية باستخدام ترويسة الاستجابة Accept-Ranges . ثم يطلب العميل جزءًا محددًا من ملف من الخادم باستخدام ترويسة طلب Range . إذا كان النطاق صالحًا، يُرسله الخادم إلى العميل مع رمز حالة 206 (محتوى جزئي) وترويسة Content-Range التي تُحدد النطاق المُرسل. أما إذا كان النطاق غير صالح، فيرد الخادم برمز حالة 416 (النطاق المطلوب غير قابل للتلبية) . [ 3 ]
قد يلجأ العملاء إلى طلب خدمة البايتات في حالاتٍ يكون فيها ملف كبير قد تم تسليمه جزئيًا فقط، ويحتاجون إلى جزء محدود منه ضمن نطاقٍ مُحدد. لذا، تُعدّ خدمة البايتات طريقةً لتحسين استخدام النطاق الترددي . [ 4 ] في معيار HTTP/1.0، كان بإمكان العملاء طلب المستند كاملًا فقط. أما الآن، وبفضل خدمة البايتات، يُمكن للعملاء اختيار طلب أي جزء من المورد. ومن مزايا هذه الخاصية أنه عند طلب ملف وسائط كبير، وكان هذا الملف مُنسقًا بشكلٍ صحيح، يُمكن للعميل طلب الأجزاء التي يحتاجها فقط. وهذا أمرٌ ضروري لخدمة ملفات الفيديو؛ فإذا كان الخادم يفتقر إلى هذه الميزة، فقد لا تكون مقاطع الفيديو المُستضافة عليه قابلةً للتشغيل حتى يقوم العميل بتنزيل الملف كاملًا، وقد يتم تعطيل خاصية البحث داخل الملف.
وبالمثل، يمكن تحسين ملفات PDF لتقنية عرض البايتات، مما يسمح بعرض الملفات الكبيرة فورًا في المتصفح عن طريق طلب البيانات اللازمة لعرض الصفحة الحالية فقط. [ 5 ] لطالما سهّلت أدوبي استخدام تقنية عرض البايتات من خلال ميزة في برنامج أدوبي أكروبات تحفظ ملفات PDF ببنية "عرض ويب سريع" اختيارية مُحسّنة لتنزيل الصفحات صفحةً صفحة. [ 5 ]
يمكن أيضًا استخدام تقنية مشاركة البايتات من قِبل العملاء متعددي المنافذ لتنزيل مورد واحد في وقت واحد عبر عدة واجهات شبكية. [ 6 ] ولتحقيق هذا النوع من تجميع الروابط على مستوى التطبيق ، يتم إنشاء جلسات HTTP متعددة، ويتم تنزيل أجزاء الملفات المنطقية بشكل تعاوني من الخادم، ثم إعادة تجميعها على جهاز العميل. يتيح ذلك الاستخدام الأمثل لعدة مسارات من البداية إلى النهاية، مما يؤدي بالتالي إلى زيادة سرعة التنزيل.
تُستخدم خدمة البايتات أيضًا للوصول إلى مجموعات فرعية صغيرة نسبيًا من مجموعات البيانات الكبيرة، مثل ملفات بيانات GRIB متعددة المتغيرات التي تُنتجها وتُشاركها نماذج التنبؤ العددي بالطقس . ويمكن لبرامج مثل WGRIB2 تحديد نطاقات البايتات الفردية واختيارها من بيانات التنبؤات الجوية التي تُقدمها أنظمة مثل NOAA .
لا يُعدّ استخدام ترميز النقل المُجزّأ (Chunked Transfer-Encoding) أسلوبًا لخدمة البايتات، بل هو طريقة يُرسل فيها خادم HTTP/1.1 المورد بأكمله، ولكن على شكل أجزاء (أو كتل) منفصلة من البيانات. [ 7 ] يُستخدم هذا الأسلوب غالبًا عندما لا يعرف الخادم حجم البيانات الإجمالي في الاستجابة بدقة، مما يسمح له ببدء إرسال البيانات إلى العميل مباشرةً دون الحاجة إلى تخزين الاستجابة مؤقتًا وتحديد طولها بدقة قبل إرسالها. يُحسّن هذا من زمن الاستجابة ويُقلّل من متطلبات الذاكرة مع الحفاظ على إمكانية إعادة استخدام الاتصال بعد اكتمال الاستجابة. تتوافق خدمة البايتات مع التجزئة، ويمكن استخدام كل منهما على حدة. لا تزال الإصدارات اللاحقة من بروتوكول HTTP تدعم خدمة البايتات، [ 8 ] على الرغم من أن استخدام ترميز النقل المُجزّأ قد تم استبداله بأساليب بديلة.
انظر أيضاً
مراجع
- ↑ أسبوع أباتشي. HTTP/1.1
- ↑ تقديم بايت: تعريف تقديم البايت في الموسوعة الإلكترونية المجانية
- ↑ RFC 7233: بروتوكول نقل النص التشعبي (HTTP/1.1): طلبات النطاق
- ↑ الاختلافات الرئيسية بين HTTP/1.0 و HTTP/1.1 : "من الأمثلة الشائعة إرسال الخادم لمورد كامل (كبير) بينما يحتاج العميل إلى جزء صغير منه فقط. لم يكن من الممكن في HTTP/1.0 طلب أجزاء من الكائنات... أما طلبات النطاق في HTTP/1.1 فتسمح للعميل بطلب أجزاء من المورد."
- 1 2 تفعيل عرض الويب السريع في ملف PDF
- ↑ تحسين تشغيل الفيديو حسب الطلب عبر شبكات وصول متعددة غير متجانسة، بقلم د. كاسبار، وك. ر. إيفنسن، وب. إ. إنجلستاد، وأ. ف. هانسن، وب. هالفورسن، وس. غريوودز. في: مؤتمر IEEE للاتصالات والشبكات الاستهلاكية (CCNC)، رقم ISBN 978-1-4244-5176-02010
- ↑ "تقسيم HTTP" . مؤرشف من الأصل بتاريخ 2012-02-08.
- ↑ RFC 7540 القسم 8
- متصفحات الويب
- بروتوكول نقل النص التشعبي
