English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La estructura de la solicitud HTTP y la respuesta HTTP son similares, y tienen la siguiente estructura:
Con la línea de estado+CRLF (retorno de carro nueva línea) comienza
Cero o más líneas de módulos de encabezado+CRLF
Una línea en blanco, como CRLF
Mensajes opcionales como archivos, datos de consulta, salida de consulta
Por ejemplo, una cabecera de respuesta del servidor se vería así:
HTTP/1.1 200 OK Contenido-Tipo:.../html Encabezado2:... ... EncabezadoN:... (Línea en blanco) !doctype... <html> <head>.../head> <body> ... </body> </html>
La línea de estado contiene la versión de HTTP, un código de estado y un mensaje corto correspondiente al código de estado.
La siguiente tabla enumera los códigos de estado HTTP que pueden devolver los servidores y los mensajes asociados con ellos:
Código de Estado | Mensaje | descripción |
---|---|---|
100 | Continuar | Sólo una parte de la solicitud fue recibida por el servidor, pero el cliente continuará con esta solicitud siempre que no sea rechazada por el servidor |
101 | Cambiando de Protocolos | Protocolo de Conmutación de Servidores |
200 | OK | La solicitud se confirmó |
201 | Creado | La solicitud fue completa al momento de la solicitud y se creó un nuevo recurso |
202 | Aceptado | La solicitud se ha aceptado, pero no se ha completado |
203 | No-Información Autorizada | |
204 | Sin Contenido | |
205 | Restablecer Contenido | |
206 | Contenido Parcial | |
300 | Múltiples Opciones | Una tabla de vínculos, donde el usuario puede elegir uno y acceder, con un máximo de soporte5vínculos |
301 | Movido Permanentemente | La página solicitada se ha movido a una nueva URL |
302 | Encontrado | La página solicitada se ha movido temporalmente a una nueva URL |
303 | Ver Otro | La página solicitada se puede encontrar en una URL diferente |
304 | Not Modified | |
305 | Use Proxy | |
306 | Unused | Este código de estado ya no se utiliza, pero se ha reservado |
307 | Temporary Redirect | La página solicitada se ha movido temporalmente a una nueva URL |
400 | Bad Request | El servidor no puede identificar la solicitud |
401 | Unauthorized | La página solicitada requiere nombre de usuario y contraseña |
402 | Se requiere pago | Este código de estado aún no se puede usar |
403 | Forbidden | Se prohíbe el acceso a la página solicitada |
404 | Not Found | El servidor no puede encontrar la página solicitada |
405 | Method Not Allowed | El método especificado en la solicitud no está permitido |
406 | Not Acceptable | El servidor solo puede crear una respuesta que el cliente no puede aceptar |
407 | Proxy Authentication Required | Se debe autenticar un servidor proxy antes de que se atienda la solicitud |
408 | Request Timeout | El tiempo de solicitud excedió el tiempo que el servidor puede esperar, la conexión se cortó |
409 | Conflict | La solicitud tiene contradicciones |
410 | Gone | La página solicitada ya no está disponible |
411 | Length Required | "Content-La longitud "no se ha definido, el servidor rechaza la solicitud |
412 | Precondition Failed | La condición previa de la solicitud fue evaluada como falsa por el servidor |
413 | Request Entity Too Large | El servidor rechaza la solicitud porque el cuerpo de la solicitud es demasiado grande |
414 | Solicitud-url Too Long | El servidor rechaza la solicitud porque la URL es demasiado larga. Aparece a menudo cuando se convierten grandes cantidades de información de consulta adjunta a una solicitud POST en una solicitud GET |
415 | Unsupported Media Type | El servidor rechaza la solicitud porque el tipo de medio no es compatible |
417 | Expectation Failed | |
500 | Internal Server Error | La solicitud no está completa, el servidor encontró una situación inesperada |
501 | Not Implemented | La solicitud no está completa, el servidor no proporciona la función necesaria |
502 | Bad Gateway | La solicitud no está completa, el servidor recibió una respuesta inválida del servidor superior |
503 | Service Unavailable | La solicitud no está completa, el servidor se reinició o se cerró temporalmente |
504 | Gateway Timeout | Timeout del gateway |
505 | HTTP Version Not Supported | El servidor no admite la versión HTTP especificada |
La siguiente tabla enumera los métodos utilizados en HttpServletResponse para establecer el código de estado:
N°. | método & descripción |
---|---|
1 | public void setStatus ( int statusCode ) Este método puede establecer cualquier código de estado. Si su respuesta contiene un código de estado especial y un documento, asegúrese de llamar al método setStatus antes de devolver cualquier contenido con PrintWriter |
2 | public void sendRedirect(String url) Este método produce302respuesta, produciendo un Location la cabeza informa a la URL de un nuevo documento |
3 | public void sendError(int code, String message) Este método envía un código de estado (generalmente 404) y un mensaje corto, insertado automáticamente en el documento HTML y devuelto al cliente |
El siguiente ejemplo enviará407Proporcionar al navegador un código de error y luego el navegador le dirá "Need authentication!!!".
<html> <head> <title>Configuración de Código de Estado HTTP</title> </head> <body> <% // Establecer código de error y explicar la razón response.sendError(407, "Need authentication!!! "); %> </body> </html>
Al acceder a la página JSP anterior, se obtendrá el siguiente resultado:
También puede intentar usar otros códigos de estado para ver si obtiene algún resultado inesperado.