Las cabeceras del HTTP son informaciones que se intercambian entre el navegador, o cualquier otro cliente, y el servidor de páginas web. Las cabeceras del http son transparentes para nosotros, pero en ocasiones contienen informaciones que pueden servir de ayuda a los desarrolladores.
Estas cabeceras permiten transportar información de control entre el cliente y el servidor, como el estado de respuesta del servidor, cookies enviadas al cliente, tipo de contenido que se está enviando/recibiendo, momento en el que se realizan las solicitudes o entregas de información, etc.
A continuación indico todos los posibles códigos de error o respuestas de las cabeceras.
Los he metido en un array de PHP para que se puedan usar en cualquier función con el objetivo que sea. Ya sea identificar una respuesta de apache o del servidor de páginas web o generar un tipo de respuesta deseado, el típico 404 o 301.
[code lang=»PHP»]
$codigos = array(
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 => ‘Moved Permanently’,
302 => ‘Found’,
303 => ‘See Other’,
304 => ‘Not Modified’,
305 => ‘Use Proxy’,
307 => ‘Temporary Redirect’,
400 => ‘Bad Request’,
401 => ‘Unauthorized’,
402 => ‘Payment Required’,
403 => ‘Forbidden’,
404 => ‘Not Found’,
405 => ‘Method Not Allowed’,
406 => ‘Not Acceptable’,
407 => ‘Proxy Authentication Required’,
408 => ‘Request Time-out’,
409 => ‘Conflict’,
410 => ‘Gone’,
411 => ‘Length Required’,
412 => ‘Precondition Failed’,
413 => ‘Request Entity Too Large’,
414 => ‘Request-URI Too Large’,
415 => ‘Unsupported Media Type’,
416 => ‘Requested range not satisfiable’,
417 => ‘Expectation Failed’,
500 => ‘Internal Server Error’,
501 => ‘Not Implemented’,
502 => ‘Bad Gateway’,
503 => ‘Service Unavailable’,
504 => ‘Gateway Time-out’
);
[/code]
A continuación otras cabecera/valores que se envían como petición al servidor.
* Accept: Determina el tipo de contenido o MIME que se espera de la respuesta. Su valor debe ser una cadena MIME.
Accept: image/jpg -> Se espera una imagen JPG
Accept: text/plain-> Se espera texto plano
* Accept-Charset: Determina el set de caracteres aceptable en la respuesta. Su valor debe ser un código de caracteres IANA.
Accept-Charset: utf-8 -> Se espera una codificación de caracteres UTF-8
Accept-Charset: ISO 8859-1 -> Se espera una codificación de caracteres ISO 8859-1 (Oeste de Europa)
* Accept-Encoding: Determina la codificación (compresión) que se espera de la respuesta. Valores comunes suelen ser gzip, deflate o sdch.
Accept-Encoding: gzip, delate, sdch -> Se espera cualquiera de las 3 codificaciones de datos especificadas.
* Accept-Language: Determina el idioma aceptado para la respuesta. Su valor debe ser cualquier código de lenguaje estandarizado[1]
Accept-Language: es-es -> Determina el idioma aceptado para la respuesta como español de España
Accept-Language: en-us -> Determina el idioma aceptado para la respuesta como inglés de Estados Unidos
* Authorization: Determina la autentificación HTTP para la petición en curso.
Para más información en la wikipedia hay un artículo que viene todo perfectamente detallado http://en.wikipedia.org/wiki/List_of_HTTP_header_fields. Lo que no venía tan bien son todos los posibles errores, que yo he metido en un array de PHP para poder usarlos en cualquier función directamente.
Protocolo y documentación en W3 para los códigos de status de http http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html