protocolo HTTP con la galleta y de sesión Notas de Estudio

HTTP

HTTP: HyperText Transfer Protocol Protocolo de transferencia de hipertexto, definido cuando el cliente y el servidor de comunicaciones lado, el formato de transmisión de datos.
características:

  1. acuerdo de alto nivel basada en TCP / IP
  2. El número de puerto predeterminado es 80
  3. Basado en un modelo de petición / respuesta: Respuesta de tiempo correspondiente a la primera petición
  4. Sin estado: cada solicitud es independiente el uno del otro, no puede interactuar con los datos, no guarda ninguna información sobre el cliente

HTTP1.0 son cada solicitud será establecer una nueva conexión, ahora usando HTTP1.0 versión, se reutilizará la conexión, es decir, el cliente envía una solicitud al canal de conexión de servidor permanecerá abierta. En el que las conexiones no persistentes y conexiones persistentes

Formato de los datos del mensaje de petición

  1. La línea de solicitud: el método de solicitud, solicitud de URL, petición de protocolo / versión consiste en
    método de solicitud: HTTP protocolo tiene siete clases de métodos de petición, común son dos tipos, uno es un POST GET. GET y la diferencia POST:

    OBTENER:

    • Solicitar parámetros en la línea de petición, detrás de la URL
    • url pide longitud limitada
    • inseguro

    ENVIAR:

    • Especies parámetros de la petición en el cuerpo de la petición
    • url pide longitud ilimitada
    • relativamente seguro
  2. Encabezado de solicitud: el navegador del cliente indica al servidor de parte de la información en el formato solicitado nombre de encabezado: valores encabezado de solicitud. Hay dos cabeceras de la petición común

    1. User-Agent: El cliente indica al servidor utilizando una información de la versión del navegador
    2. Árbitro: url, la solicitud actual provienen de indica al navegador
  3. Solicitud línea en blanco: es una línea en blanco, para dividir el encabezado de la solicitud y la solicitud solicitud cuerpo POST.

  4. cuerpo de la solicitud (cuerpo): un mensaje de solicitud de petición de parámetros de POST paquete, por ejemplo:

    POST /login.html	HTTP/1.1
    Host: localhost
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Referer: http://localhost/login.html
    Connection: keep-alive
    Upgrade-Insecure-Requests: 1
    			
    username=zhangsan
    

    La primera línea es la línea de petición, cabecera 2-9 solicitud de acción, la línea en blanco solicitud de acción 10, 11 es el cuerpo de la solicitud.

El formato de datos de respuesta del mensaje

HTTP/1.1 200 OK
Connection:...
Date:...
Server:...
Last-Modified:...
Content-Length:...
Content-Type:...

(data data data data data ...)

mensaje de respuesta tiene tres partes: el estado inicial de la línea, en respuesta a la primera, y en respuesta de la misma en respuesta a una línea vacía. Línea de estado tiene tres campos: Protocolo / versión, códigos de estado y la información de estado correspondiente. cabecera de la respuesta correspondiente, Conexión: indica cómo manejar los paquetes después de enviar una conexión TCP, Fecha: encabezado representa una respuesta que indica que el servidor genera y transmite la fecha y hora del mensaje de respuesta, Servidor: indica que el paquete es generado por un servidor lo la, de última modificación: línea de respuesta indica la fecha y hora de creación del objeto o de la última modificación, Content-Length: indica el número de bytes a transmitir en el objeto, Content-Type: indica lo que el cuerpo del objeto en respuesta Sí. Es la parte principal del cuerpo en respuesta al mensaje de respuesta, es decir, que contiene el objeto solicitado en sí.

código de estado común que se asocia con la frase:

  • 200 OK: Solicitud éxito
  • 301 Moved Permanente: objeto solicitado permanente ha sido transferida, la nueva URL se define en el mensaje de respuesta Situación: en cabecera de respuesta
  • 400 Bad Request: un código de error genérico que indica que la solicitud no puede ser entendido por el servidor
  • 404 No encontrado: El documento solicitado no está en el servidor
  • 505 HTTP Version Not Supported: El servidor no soporta la versión del protocolo HTTP utilizado en el mensaje de solicitud

La tecnología de cookies

HTTP información de estado del servidor no tiene estado, que no retenga el usuario, pero un sitio Web a menudo deseable ser capaz de identificar al usuario, usted tiene que utilizar la tecnología de cookies, la tecnología de cookies tiene cuatro componentes:

  1. Una línea de cabecera cookie en los paquetes de respuesta HTTP
  2. Una línea de cabecera cookie en los paquetes de petición HTTP
  3. En el sistema cliente mantiene un archivo de cookies, la gestión del navegador del usuario
  4. sitio Web de la base de datos ubicada

Cookie para que los usuarios puedan realizar un seguimiento del estado del navegador se recomienda al usuario basándose en el usuario ... pero el uso de cookies es una violación de la privacidad del usuario, se puede recoger una gran cantidad de información sobre el sitio y, a continuación, vender esta información a terceros.

Galleta en la cuenta de IDEA

Utilice los siguientes pasos:

  • Crear un objeto de la galleta, enlazar datos
    new Cookie(String name,String value)
  • Enviar el objeto de la galleta
    response.addCookie(Cookie cookie)
  • Obtener Galleta, obtener los datos
    Cookie[] request.getCookies()

El principio: En base a la respuesta, y Set-Cookie cabecera de petición cabecera Cookie
Cookies detalles:

  • Cookie puede ser enviado varios objetos, utilice método de respuesta de llamadas addCookie múltiples para enviar cookies
  • duración de la cookie, el navegador por defecto está cerrado, datos de una cookie se destruye, si se quiere lograr un almacenamiento persistente, es necesario utilizar setMaxAge(int seconds)el método, los segundos parámetros tiene tres situaciones diferentes, positiva, negativa y cero. Un número positivo indica que los datos de cookies se escribe en los segundos en el disco duro para almacenar archivos de segundos, el valor predeterminado es negativo, cero medio para borrar la información de cookies
  • galletas para compartir:
    • Desplegado entre el servidor web múltiple con un proyecto Tomcat, si quieres galletas proporción entre estos proyectos deben establecer un intervalo de adquisición de galletas setPath(String path), por defecto no es compartido, para ser compartido puede ser camino establecido a "/"
    • Diferente parte del servidor Tomcat: setDomain(Sting path): Si define un nombre de dominio idéntico, la cookie se puede compartir entre varios servidores, como un ejemplo de Baidu, Baidu Post Bar del nombre de dominio tieba.baidu.com, el nombre de dominio de noticias Baidu news.baidu.comen el que tienen un nombre de dominio: .baidu.compor lo que cookie puede ser compartida entre el

Sesión técnica

Al igual que el de sesiones de cookies son técnicos, pero Sesión es una tecnología de sesión del servidor, Cookie es una tecnología de sesión de cliente, la capacidad de compartir datos entre múltiples peticiones en una sola sesión, los datos almacenados en el objeto de servidor (HttpSession) en, la sesión se pueden almacenar cualquier tipo de datos de cualquier tamaño.
Get HttpSession objeto: HttpSession session =request.getSession();
el uso de objetos HttpSession: getAttribute (String name), setAttribute (String nombre, valor del objeto), removeAttribute (String name).
principio de la sesión: Session consigue depende de la cookie es completado por el encabezado de la solicitud con la cabeza correspondiente.
detalles de la sesión:

  • Después de que el cliente desactivada por defecto, el servidor no se cierra sesión diferente tomada dos veces
    Si desea obtener el mismo, establecer un tiempo de supervivenciasetMaxAge(int seconds)
  • El cliente no se cierra después de que el servidor está caído, obtener la sesión no es el mismo, pero para asegurar que los datos no se pierdan, Tomcat de forma automática en el trabajo:
    • sesión de pasivación: normal hasta que el servidor cierra la sesión de serialización de objetos en el disco duro
    • activación de sesión: Después de que el servidor se inicia, el archivo de sesión en un objeto de sesión en la memoria

Sesión de galletas y de la diferencia

  1. los datos de sesión se almacena en el servidor, cliente de la galleta

  2. sesión sin límite de tamaño de datos, límite de tamaño de datos de cookies

  3. seguridad de los datos de sesión, galleta relativamente inseguros

Supongo que te gusta

Origin www.cnblogs.com/cubeblog/p/12558567.html
Recomendado
Clasificación