HTTP cabeceras de los mensajes
HTTP paquete de formato es el siguiente:
报 文 cuello |
---|
Una línea en blanco (CR + LF) |
El cuerpo del mensaje |
Peticiones y respuestas HTTP son cabecera de paquete de protocolo HTTP debe contener. contenido de la cabecera del cliente y las peticiones al servidor y las respuestas son procesadas para proporcionar la información requerida.
En la solicitud, HTTP paquete consiste en un método, el URI, HTTP versión, HTTP cabecera campos y otras partes
en respuesta, HTTP paquete por la versión HTTP, el estado de códigos (números y la razón frase), HTTP cabecera de campo 3 partes.
Encabezado HTTP campo
HTTP campos de cabecera transmiten información importante
HTTP campo de encabezado por nombres de campos y valores de campo porción de cabeza constituido por dos puntos ":" separador
首部字段名:字段值
Por ejemplo, en HTTP para el campo de cabecera Content-Type para indicar el tipo de objeto paquetes cuerpo
Content-Type: text / html
valor de campo correspondiente a un solo campo de encabezado HTTP puede tener múltiples valores, como se muestra a continuación.
keep-Alive:timeout=15,max=100
4 tipos de encabezado HTTP tipo de campo
HTTP campo de cabecera se divide en las siguientes cuatro tipos dependiendo de la aplicación.
- campo de cabecera común (general Campos de cabecera)
el paquete de petición y la cabecera de paquete de respuesta se utilizan ambos. - campo de encabezado de la solicitud (Solicitud Campos de cabecera)
de solicitud de transmisión utiliza cuando el paquete de cabeza desde el cliente al servidor. Complementado con un contenido adicional solicitada, la información del cliente, en respuesta a la información relacionada con el contenido como prioridad. - encabezamiento de la respuesta (Respuesta Campos de cabecera)
se devuelve al cliente usando el paquete de cabecera de la respuesta del servidor. Complementa el contenido adicional de la respuesta, se le pedirá al cliente para adjuntar información de contenido adicional. - campo de encabezado de Entidad (Entity Campos de cabecera)
para el paquete de petición y entidad cabecera del paquete de respuesta utilizado parcialmente. información y recursos suplementarios en relación con el tiempo de actualización de contenido entidad.
De extremo a extremo de cabecera y el Hip-hop encabezado por
campo de cabecera HTTP se define como un comportamiento no almacenamiento en caché de proxy y el almacenamiento en caché del agente, dividida en dos tipos.
- La primera porción de extremo (Header-End-to-end)
puntos en esta categoría serán remitidos a un encabezado de solicitud / respuesta correspondiente al objetivo final recibida, y deben ser almacenados en una respuesta generada por la memoria caché, debe ser enviada especifique lo contrario. - Por salto de cabecera (Hip-Hop de cabecera)
puntos en esta categoría cabecera válida únicamente para un solo transpondedor, debido a la caché o representados en lugar de hacia adelante. Versión HTTP / 1.1 y posteriores, si desea utilizar cabecera hop-by-hop, debe proporcionar el campo de cabecera de conexión.
Éstos son HTTP / 1.1 en los campos de cabecera a salto: - Conexión
- Mantener viva
- Proxy-Authenticate
- Autorización proxy
- Remolque
- A
- Transfer-Encoding
- Actualizar
Además de estos ocho campo de cabecera, todos los demás campos pertenecen a la cabecera.
HTTP campo / 1,1 cabecera en general
campo de encabezado general se refiere a las cabeceras de paquete de petición de paquetes y de respuesta será utilizado por ambos lados.
Cache-Control
Especificando campo de cabecera Cache-Control de la instrucción, ser capaz de operar el mecanismo de trabajo de la memoria caché.
directivas Cache-control:
- Indicar si la instrucción de la caché:
la instrucción pública: Al especificar el uso de la instrucción pública, dejan claro que otros usuarios también pueden hacer uso de la caché de
instrucción privada: Cuando una instrucción privada designada, sólo responden a usuario específico como un objeto, este comportamiento e instrucción pública en cambio
no-cache Directiva: propósito directiva no-cache es para evitar el retorno de los recursos expirado desde la caché. - diana de control de caché instrucciones ejecutables:
instrucción no-store: Cuando se utiliza la instrucción no-store, lo que sugiere solicitud (y la respuesta correspondiente) contienen información o respuesta confidencial. Relativa a la no-cache, no-store es realmente no almacena en caché. - periodo de caché especificado instrucción y certificación de
las mismas funciones que la instrucción maxage s-maxage y la instrucción, la Directiva s-maxage se aplica sólo al servidor caché pública para múltiples usuarios.
comando max-age: Cuando la caché se determina que el valor de tiempo es menor que los recursos de caché especificados valor de tiempo, el cliente recibiría buffer de recursos.
instrucciones min-frescos: reclamaciones min-fresca caché devuelve el servidor al menos durante un tiempo determinado no tiene los recursos de caché.
instrucciones max-rancios: utilizando el recurso en caché max-rancia puede referirse a caducan como de costumbre, incluso si la recepción.
instrucciones sólo-si-caché: Use sólo-si-caché mediante la directiva de que se le pedirá al usuario que vuelva sólo en el caso de un servidor caché caché local del recurso de destino.
Directiva obligada revalidate: agente verifica que el próximo retorno de la respuesta en caché actualmente sigue siendo válida para el servidor de origen nuevo.
proxy-revalidate instrucción: requiere que todos los servidores caché recibe la solicitud para que el cliente devuelve una respuesta a la instrucción, el caché debe validar de nuevo.
instrucciones de no-transform: el uso de la instrucción predeterminada, si el tipo de material en la solicitud o respuesta, la caché no puede cambiar el cuerpo de la entidad. Esto evita o el almacenamiento en caché de proxy comprimir imágenes y otras operaciones similares.
Conexión
campo de cabecera de conexión incluye las dos funciones siguientes:
- Control ya no se envía al agente de campo de cabecera
- Gestión de conexiones persistentes
Control de agente de campo de cabecera ya no reenvía:
Connection:不再转发的首部字段名
Gestión de conexiones persistentes:
Connection:close
HTTP / 1.1 conexiones por defecto versión son conexión persistente. Con este fin, la solicitud del cliente se envía de forma continua en una conexión persistente. Cuando el servidor quiere desconectar de forma explícita, el valor del campo de encabezado de conexión especificado Cerrar
Connection:Keep-Alive
1.1 conexión HTTP antes de la versión por defecto de HTTP / son la conexión no persistente. Por esta razón, si se quiere mantener una conexión constante en la versión anterior del protocolo HTTP, es necesario especificar la cabecera de conexión valor del campo Keep-Alive.
Fecha
campo de cabecera de la fecha indican la fecha y hora de paquetes HTTP
Date :Tue, 03 Jul 2012 04:40:59 GMT
Pragma
Como esta instrucción es compatible hacia atrás con HTTP / 1.0 se define
Pragma:no-cache
El campo de cabecera que pertenece al campo de la cabecera común, pero sólo en la solicitud enviada por el cliente. El cliente le pedirá todo el servidor intermedio no devuelve los recursos en caché
Remolque
campo de cabecera del remolque se indicará con antelación en el cuerpo principal de los campos de cabecera de mensaje que se registran. El campo de cabecera se puede aplicar cuando HTTP / 1.1 versión fragmentada codificación de transferencia.
...
Transfer-Encoding:chunked
Trailer: Expires
...(报文主体)...
0
Expires:Tue,28 Sep 2004 23:59:59 GMT
En el ejemplo anterior, el campo de cabecera especifica Remolque Expira valor, (después del desbloqueo longitud 0) Caduca aparece de campo de encabezamiento después de que el cuerpo del mensaje
-Encoding transferencia
Transfer-Encoding campo de cabecera define el modo de codificación para transmitir se usa el cuerpo del paquete.
Potenciar
Asciende campo de cabecera para detectar si el protocolo HTTP y otros protocolos se pueden usar para comunicar una versión superior, que puede ser utilizada para especificar un valor de parámetro diferentes protocolos de comunicación.
Vía
campo de encabezado Via se utiliza para realizar un seguimiento de las solicitudes entre el cliente y el servidor y el mensaje de respuesta de ruta de transmisión.
Los paquetes pasan a través de proxy o puerta de enlace, tendrá información de primera adicional en el campo de encabezado Via, y remitido al servidor.
campo de encabezado Via no sólo se utiliza para rastrear el reenvío de paquetes, sino también para evitar la ocurrencia de la solicitud del bucle. Por lo que debe unir los campos de cabecera de contenido al pasar proxy.
Solicitud de paquetes:
GET / HTTP/1.1
Después de que el servidor proxy:
GET / HTTP/1.1
Via: 1.0 gw.hackr.jp(Squid/3.1)
Advertencia
1.1 Advertencia HTTP / cabeza desde la parte de cabecera (Retry-After) Respuesta HTTP / 1.0 evolución a lo largo. La primera parte se suele informar al usuario de algunas cuestiones relacionadas con la caché de alerta
formato de la cabecera de la siguiente manera:
Warning:[警告码][警告的主机:端口号]"[警告内容]"([日期时间])
HTTP / 1.1 define advertencia siete, un código de advertencia de la siguiente manera:
código de advertencia | advertencias | explicación |
---|---|---|
110 | La respuesta es rancio (una respuesta ha expirado) | vuelve agente caducado recursos |
111 | Revalidación falló (no re-autenticación) | El fracaso (servidor razones no puede ser alcanzado, etc.) y luego verifique que el agente de la disponibilidad de recursos |
112 | operación de desconexión (operación desconectado) | Agente y la conexión a Internet se redujo intencionadamente fuera |
113 | expiración heurístico (fecha tentativa) | El uso de más de un 24 horas de respuesta (más de 24 horas en el caso de configurar la memoria caché de tiempo válido) |
199 | advertencia Varios (advertencia Varios) | cualquier advertencia |
214 | Transformación aplicado (mediante una conversión) | Cuando las preformas de agente determinado de codificación o el procesamiento del tipo de soporte de contenido, etc. |
299 | advertencia persistente Varios (que dura advertencia Varios) | cualquier advertencia |