English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يكون شكل رسائل الطلب HTTP وردود HTTP مشابهين، والهيكل كالتالي:
سطر الحالة الأولي مع رمز النسخ الاحتياطي مع الرمز الناقص (النسخ الاحتياطي + الناقص)
عدد صفر أو أكثر من سطور العناوين مع رمز النسخ الاحتياطي مع الرمز الناقص
خط فاصل فارغ، أي رمز النسخ الاحتياطي مع الرمز الناقص
جسم رسالة اختياري، مثل ملف، بيانات استعلام أو مخرجات استعلام
على سبيل المثال، رؤوس الاستجابة الخاصة بالخادم كالتالي:
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) !doctype ... <html> <head>...</head> <body> ... </body> </html>
سطر الحالة يشمل إصدار HTTP (في هذا المثال HTTP/1.1)، رمز حالة (في هذا المثال 200) ورسالة قصيرة تتناسب مع الرمز (في هذا المثال OK).
إليك قائمة من HTTP��态 الرجوعية المحتملة من خادم الويب ومعلومات ذات صلة:
كود | رسالة | وصف |
---|---|---|
100 | Continue | تم استلام جزء من الطلب من قبل الخادم، ولكن يجب على العملاء المضيفين مواصلة الطلب طالما لم يتم رفضه. |
101 | Switching Protocols | استبدال البروتوكول. |
200 | OK | نجح الطلب. |
201 | Created | الطلب كامل ويقوم بإنشاء ميزة جديدة. |
202 | Accepted | تم قبول الطلب ومعالجته، ولكن المعالجة غير كاملة. |
203 | Non-authoritative Information | |
204 | No Content | |
205 | Reset Content | |
206 | Partial Content | |
300 | Multiple Choices | قائمة الروابط. يمكن للمستخدم اختيار رابط، والوصول إلى هذا الموقع. أقصى خمس عناوين. |
301 | متحول إلى permanently | الصفحة المطلوبة قد انتقلت إلى عنوان URL جديد. |
302 | وجد | تم نقل الصفحة المطلوبة مؤقتاً إلى URL جديد. |
303 | انظر إلى آخر | يمكن العثور على الصفحة المطلوبة في URL آخر مختلف. |
304 | لم يتم تعديل | |
305 | استخدم وسيط | |
306 | غير مستخدم | استخدم هذا الرقم في إصدار سابق. لم يعد يستخدم الآن، ولكن الرقم لا يزال محفوظاً. |
307 | إعادة توجيه مؤقت | تم نقل الصفحة المطلوبة مؤقتاً إلى URL جديد. |
400 | طلب سيء | لا يفهم الخادمة الطلب. |
401 | غير مسموح به | الصفحة المطلوبة تتطلب اسم المستخدم وكلمة المرور. |
402 | إعداد الدفع مطلوب | لا يمكنك استخدام هذا الرقم بعد. |
403 | منع | منع الوصول إلى الصفحة المطلوبة. |
غير موجود | لم يجد الخادمة الصفحة المطلوبة. | 405 |
منع الطريقة | الطريقة المحددة في الطلب غير مسموح بها. | 406 |
غير مقبول | يولد الخادمة استجابة واحدة لا تقبلها العملاء. | 407 |
غير مقبول | إعداد تأكيد وسيط مطلوب | علىك استخدام تأكيد وسيط في وقت إرسال الطلب. |
408 | تجاوز المدة الزمنية للطلب | طلب يتطلب وقتاً أطول مما يمكن للخادمة الانتظار، تم تجاوز المدة الزمنية. |
409 | خلاف | لم يتم إكمال الطلب بسبب الخلاف. |
410 | معدوم | لم تعد الصفحة المطلوبة متاحة. |
411 | إعداد طول المطلوب | لم يتم تعريف "Content-Length" . لا يمكن للخادمة معالجة معلومات الطلب المقدمة من العملاء بدون "Content-Length". |
412 | فشل الحالة الضرورية | تم تقييم الحالة الضرورية المقدمة في الطلب من قبل الخادمة على أنها خطأ. |
413 | حجم الكيان المطلوب كبير | لا تقبل الخادمة هذا الطلب لأن حجم الكيان المطلوب كبير. |
414 | طول URL للطلب كبير | لا تقبل الخادمة هذا الطلب لأن طول URL كبير. يحدث عند تحويل طلب "post" إلى طلب "get" يحتوي على معلومات استعلام طويلة. |
415 | نوع وسائط غير مدعوم | لا تقبل الخادمة هذا الطلب لأن نوع الوسائط غير مدعوم. |
417 | فشل التوقعات | |
500 | خطأ داخلي في الخادمة | طلب غير مكتمل. واجهت الخادمة حالة غير متوقعة. |
501 | Not Implemented | 未完成的请求。服务器不支持所需的功能。 |
502 | Bad Gateway | 未完成的请求。服务器从上游服务器收到无效响应。 |
503 | Service Unavailable | 未完成的请求。服务器暂时超载或死机。 |
504 | Gateway Timeout | 网关超时。 |
505 | HTTP Version Not Supported | 服务器不支持"HTTP协议"版本。 |
下面的方法可用于在 Servlet 程序中设置 HTTP 状态码。这些方法通过 HttpServletResponse 对象可用。
序号 | 方法 & 描述 |
---|---|
1 | public void setStatus ( int statusCode ) 该方法设置一个任意的状态码。setStatus 方法接受一个 int(状态码)作为参数。如果您的响应包含了一个特殊的状态码和文档,请确保在使用 PrintWriter 实际返回任何内容之前调用 setStatus。 |
2 | public void sendRedirect(String url) 该方法生成一个 302 响应,连同一个带有新文档 URL 的 Location 头。 |
3 | public void sendError(int code, String message) 该方法发送一个状态码(通常为 404),连同一个在 HTML 文档内部自动格式化并发送到客户端的短消息。 |
下面的实例把 407 错误代码发送到客户端浏览器,浏览器会显示 "Need authentication!!!" 消息。
// 导入必需的 java 库 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import javax.servlet.annotation.WebServlet; @WebServlet("/showError") // 扩展 HttpServlet 类 public class showError extends HttpServlet { // مетод معالجة طلب GET public void doGet(HttpServletRequest request, HttpServletResponse response) يُلقي استثناء ServletException, IOException { // ضبط رمز الخطأ وسبب response.sendError(407, "الحاجة إلى التحقق من الهوية!!!" ); } // مетод معالجة طلب POST public void doPost(HttpServletRequest request, HttpServletResponse response) يُلقي استثناء ServletException, IOException { doGet(request, response); } }
الآن، دعوة Servlet أعلاه ستعرض النتيجة التالية:
حالة HTTP 407 - الحاجة إلى التحقق من الهوية!!!نوع تقرير حالة رسالة الحاجة إلى التحقق من الهوية!!! وصف يجب على العملاء التحقق من هويتهم أولاً مع الوسيط (الحاجة إلى التحقق من الهوية!!!). Apache Tomcat/5.5.29 |