سؤال

وأنا على صنع اتصال HTTP إلى خادم الويب IIS وإرسال طلب POST مع البيانات المشفرة باستخدام نقل ترميز: المقسم. عندما أفعل هذا، IIS ببساطة إغلاق الاتصال، مع أية رسالة خطأ أو رمز الحالة. وفقا ل HTTP 1.1 المواصفات و

<اقتباس فقرة>   

جميع HTTP / 1.1 التطبيقات يجب أن تكون قادرة على الحصول على وفك شفرة "المقسم" الترميز نقل

لذلك أنا لا أفهم لماذا انها (أ) لا التعامل مع هذا التشفير و (ب) انها ليست ويرسلون رمز حالة. إذا قمت بتغيير طلب لإرسال طول المحتوى بدلا من نقل ترميز، نجاح الاستعلام، ولكن هذا ليس ممكنا دائما.

وعندما أحاول الشيء نفسه ضد أباتشي، وأحصل على "411 طول المطلوبة" الوضع ورسالة تقول "المقسم نقل ترميز ممنوع".

لماذا هذه الملقمات لا يدعم هذا الترميز؟

هل كانت مفيدة؟

المحلول

وما أفهمه هو أن الترميز المقسم يمكن أن تستخدم إلا في استجابة HTTP. ومن شأن نص طلب المقسم لديهم ممتلكات كونه يتعارض مع خادم 1.0، وعلى أي حال، لن يكون هناك أي وسيلة من وكيل مستخدم مع العلم أن الخادم كان الخادم 1.0 حتى انها ارسلت بالفعل الطلب.

ولكن أنا أتفق أنه من غير الواضح من الوثائق.

نصائح أخرى

ونلقي نظرة على العميل.

طلبات POST دعم

وكلا IIS وأباتشي باستخدام المقسم نقل ترميز. يمكنك التحقق من ذلك باستخدام حليقة فائدة :

curl <upload-url> --form "upfile=@<local_file>" --header "Transfer-Encoding: chunked"

وتحقق من المقسم نقل باستخدام يريشارك

ووغني في كلا الاتجاهين. محاولة تحميل صورة 2MB ++ لفوتوبوكت وتسجيله. تحميل رافع على المقسم إلى ملقمات اباتشي بهم.

وتخميني الوحيد هو أنها لم تنفذ ذلك من مخاوف بشأن الأمن. في حل ساذج سيكون من السهل اقامة هجوم DOS قبل بدء متعددة نقل المقسم التي تنتهي أبدا. وحل معقد وهذا قد يفسر لهجوم DOS ربما لا يستحق كل هذا الجهد.

وبالطبع لا أستطيع أن أتكلم عن أباتشي أو IIS، قد تكون قادرا على الاتصال بفريق أباتشي على الرغم مباشرة: <لأ href = "http://httpd.apache.org/bug_report.html" يختلط = "نوفولو noreferrer" > http://httpd.apache.org/bug_report.html

وأنا أتفق مع MarkR التي اعتقدت دائما الترميز المقسم يمكن أن تستخدم فقط كرد فعل، ولكن وثائق بالتأكيد يجعل الأمر يبدو كما لو أنها يمكن أن تستخدم في طلب أو استجابة.

وجاء هذا الأمر لإنقاذ بالنسبة لي!

<اقتباس فقرة>   وضع \ نوافذ \ system32 \ Inetsrv \ Appcmd.exe التكوين -section:

وC httpCompression
    - [اسم = 'غزيب'] staticCompressionLevel: 9 - [اسم = 'غزيب'] dynamicCompressionLevel: 4

وأنقذ بلادي اليوم ... آمل أن يساعد شخص مثلي!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top