browser - للايفون - ترجمه باستخدام الكاميرا بدون نت




ما هو أقصى طول ممكن لسلسلة الاستعلام؟ (3)

أفترض أنك تعني الطول الأقصى لسلسلة uri. Boutell.com قد يساعد.

عادةً ما يصبح URI غير قابل للقراءة نظرًا لأنها طويلة جدًا ، فقد حان الوقت لاستخدام طلب POST بدلاً من ذلك.

هل يعتمد المتصفح؟ أيضًا ، هل توجد حدود مختلفة لمجموعات الويب المختلفة حول مقدار البيانات التي يمكنها الحصول عليها من الطلب؟


تدعم مجموعات الويب المختلفة أطوالًا مختلفة لطلبات http. أعرف من التجربة أن الأكوام الأولى من Safari لا تدعم سوى 4000 حرفًا وبالتالي تواجه صعوبة في التعامل مع صفحات ASP.net بسبب USER-STATE. هذا حتى بالنسبة لـ POST ، لذلك يجب عليك التحقق من المستعرض ومعرفة الحد الأقصى المسموح به. أعتقد أنك قد تصل إلى حد حتى على المتصفحات الجديدة. لا أستطيع أن أتذكر ولكن كان واحد منهم (IE6 ، على ما أظن) الحد من 16 بت ، 32768 أو شيء من هذا.


ينص RFC 2616 (بروتوكول نقل النص التشعبي - HTTP / 1.1) على أنه لا يوجد حد لطول سلسلة الاستعلام (القسم 3.2.1). كما ينص RFC 3986 على أنه لا يوجد حد ، ولكنه يشير إلى أن اسم المضيف محدد بـ 255 حرفًا بسبب قيود DNS (القسم 2.3.3).

في حين أن المواصفات لا تحدد أي حد أقصى للطول ، يتم فرض حدود عملية من قبل متصفح الويب وبرنامج الخادم. استنادًا إلى البحث الموجود في موقع Boutell.com :

  • مايكروسوفت إنترنت إكسبلورر (المتصفح)
    توضح Microsoft أن الحد الأقصى لطول عنوان URL في Internet Explorer هو 2083 حرفًا ، مع عدم وجود أكثر من 2048 حرفًا في جزء المسار من عنوان URL. أدت محاولات استخدام عناوين URL أطول من هذا إلى ظهور رسالة خطأ واضحة في Internet Explorer.

  • مايكروسوفت ايدج (متصفح)
    يبدو أن الحد الأقصى هو 81578 حرفًا. راجع قيود طول عنوان URL لـ Microsoft Edge

  • كروم
    يتوقف عن عرض عنوان URL بعد أحرف 64 كيلو بايت ، ولكن يمكنه عرض أكثر من 100 ألف حرف. لم يتم إجراء المزيد من الاختبارات بعد ذلك.

  • Firefox (المتصفح)
    بعد 65.536 حرفًا ، لم يعد شريط الموقع يعرض عنوان URL في Windows Firefox 1.5.x. ومع ذلك ، ستعمل عناوين URL الأطول. لم يتم إجراء المزيد من الاختبارات بعد 100000 حرف.

  • سفاري (متصفح)
    ما لا يقل عن 80،000 حرف ستعمل. لم يتم تجربة الاختبار بعد ذلك.

  • Opera (المتصفح)
    ما لا يقل عن 190،000 حرف ستعمل. توقف الاختبار بعد 190،000 حرف. واصل Opera 9 for Windows عرض عنوان URL قابل للتحرير بالكامل وقابل للنسخ ولصقه في شريط الموقع حتى على 190،000 حرف.

  • اباتشي (خادم)
    اصطدمت المحاولات المبكرة لقياس الحد الأقصى لطول عنوان URL في متصفحات الويب إلى حد طول عنوان URL للملقم يبلغ 4000 حرف تقريبًا ، وبعد ذلك ينتج Apache خطأ "413 Entity Too Large". تم استخدام الإصدار الحالي من Apache الموجود في Red Hat Enterprise Linux 4. يذكر وثائق Apache الرسمية فقط حد 8،192-بايت في حقل فردي في الطلب.

  • خادم معلومات إنترنت Microsoft (خادم)
    الحد الافتراضي هو 16،384 حرفًا (نعم ، يقبل خادم ويب Microsoft عناوين URL أطول من مستعرض ويب Microsoft). هذا هو شكلي.

  • بيرل HTTP :: الشيطان (الخادم)
    ما يصل إلى 8،000 بايت ستعمل. سيواجه هؤلاء الذين يقومون بإنشاء خوادم تطبيقات الويب مع الوحدة النمطية HTTP :: Daemon Perl بحد أقصى 16،384 بايت على الحجم المجمع لكافة رؤوس طلبات HTTP. لا يشمل ذلك بيانات نموذج طريقة POST ، وتحميلات الملفات ، وما إلى ذلك ، ولكنه لا يتضمن عنوان URL. في الممارسة العملية ، نتج عن ذلك خطأ 413 عندما كان عنوان URL أطول بكثير من 8000 حرف. يمكن إزالة هذا القيد بسهولة. ابحث عن جميع مرات 16x1024 في Daemon.pm واستبدلها بقيمة أكبر. بالطبع ، هذا يزيد من تعرضك لهجمات رفض الخدمة.





query-string