سؤال

وكنت هناك العديد من الطرق لكتابة رأس HTTP الوضع:

HTTP/1.1 404 Not Found
Status: 404
Status: 404 Not Found

ولكن الذي هو السبيل غويا-الصحيحة والمواصفات المتوافقة؟

وتحرير: عن طريق رؤوس الوضع أعني هذا ، وذلك باستخدام وظيفة مثل header() PHP ل.

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

المحلول 3

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

نصائح أخرى

وإضافة بعض المعلومات لاحقا بعض الوقت، منذ جئت عبر هذا السؤال حين البحث شيئا ذات الصلة.

وأعتقد اخترع حقل رأس الحالة أصلا كجزء من مواصفات CGI، RFC 3875:

https://tools.ietf.org/html/rfc3875#section- 6.3.3

لأقتبس:

The Status header field contains a 3-digit integer result code that
indicates the level of success of the script's attempt to handle the
request.

   Status         = "Status:" status-code SP reason-phrase NL
   status-code    = "200" | "302" | "400" | "501" | extension-code
   extension-code = 3digit
   reason-phrase  = *TEXT

وانها تسمح نصي CGI لإرجاع رمز الحالة إلى خادم الويب الذي يتجاوز الافتراضي ينظر في سطر الحالة HTTP. عادة خادم مخازن النتيجة من السيناريو وتنبعث رأس جديد للعميل. هذا واحد هو رأس HTTP صالح والذي يبدأ مع سطر الحالة HTTP المعدلة ويغفل البرامج النصية "الحالة:" حقل رأس (بالإضافة إلى بعض التحولات الأخرى المكلفة من قبل RFC)

وهكذا كل من الأمثلة الخاصة بك صالحة من CGI النصي ، ولكن فقط الأول هو صحيح حقا في رأس HTTP. والأخيران هما صالحة فقط المقبلة من برنامج نصي CGI (أو ربما تطبيق FastCGI).

ويمكن للالنصي CGI أيضا تعمل في وضع "غير معرب رأس" (NPH)، عندما يولد رأس كامل وصحيح HTTP التي يمر خادم الويب إلى العميل حرفيا. على هذا النحو هذا لا ينبغي أن تشمل الحالة: حقل رأس

.

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

http://tools.ietf.org/html/rfc2616#section-6 وبشكل أكثر تحديدا http://tools.ietf.org/html/rfc2616# لا يذكر المقطع 6.1 استخدام "الحالة:" عندما يشير إلى رمز الحالة، وبما أن القائمة الرسمية للرؤوس في <لأ href = "http://www.iana.org/assignments/message-headers /message-headers.xml "يختلط =" نوفولو "> http://www.iana.org/assignments/message-headers/message-headers.xml لا يذكر" الحالة "، وسأكون ميلا نعتقد أنه لا ينبغي أن خدم مع أنها رأس.

وهناك الكثير منهم من سلاسل تعسفية الى حد كبير، ولكن هناك وهنا المواصفات وW3C لتلك المستخدمة عادة

http://www.w3.org/Protocols/rfc2616/rfc2616 -sec14.html

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