Aprendizaje de encabezados HTTP
En ordenadores, encabezado html es la abreviatura de “message header”, que es el encabezado del mensaje.
Los encabezados de solicitud los establece indirectamente el navegador y se envían después de las líneas de solicitud GET y POST iniciales, por ejemplo:
GET /servlet/Search?keywords=servlet+jsp HTTP/1.1
p>Aceptar: imagen/gif, imagen/ jpg
Conexión: Keep-Alive
Cookie: userID=id456578
Host : WWW.* ****.COM
Referente: HTTP:WWW.****.HTML
Agente de usuario: Mozilla/4.0
Encabezado de solicitud de acceso Permite que el servlet realice muchas optimizaciones y proporcione muchas funciones
Aceptar: especifica los tipos MIME que el navegador u otro programa cliente puede manejar: request.getHeader(Aceptar); p>
Accept-Charset: el conjunto de caracteres a utilizar, como ISO-8859-1
Accept-Encoding: el tipo de codificación que el cliente puede manejar, como gzip o compress
Aceptar-Language: Idioma preferido del cliente
Autorización: Idioma preferido del cliente para este encabezado. Autorización: los clientes utilizan este encabezado para identificarse
Conexión: indica si el cliente puede manejar conexiones HTTP persistentes. Las conexiones persistentes permiten que un cliente o navegador lea múltiples archivos dentro de un solo socket, ahorrando la sobrecarga de negociar múltiples conexiones separadas
Longitud del contenido (longitud del contenido): solo se usa para solicitudes POST, lo que proporciona el tamaño de los datos del POST en bytes: request.getContentLength
Cookie: Devuelve al servidor la cookie enviada previamente por el servidor al navegador: request.getCookies
Host: Identidad El nombre del host y número de puerto proporcionado en la URL original
If-Modified-Since: el programa cliente no es responsable de ningún cambio en la página después de la fecha especificada. El programa cliente solo es responsable si la página ha cambiado después de la fecha especificada. fecha especificada. obtendrá la página. Si no hay actualizaciones, el servidor enviará un encabezado 304. Esta opción es muy útil porque con ella, el navegador puede almacenar en caché el archivo y recargarlo a través de la red sólo cuando el archivo ha cambiado
Referrer: Identifica la URL de la página web de referencia
Proxy de usuario: el navegador solicitante u otro programa cliente
Acerca de los encabezados de respuesta:
La respuesta del servidor web a la solicitud generalmente incluye una línea de estado, algunos encabezados de respuesta, una línea en blanco, y un documento de respuesta
HTTP/1.1 200 OK
Tipo de contenido: texto/html
Encabezado 2: ...
Encabezado N: .. .
(línea vacía)
....
...Primero, verifique el código de estado HTTP:
200: OK (OK)
302: sendRedirect (enviar redirección)
404: sendError (enviar error)
Acerca de respuesta Resto del encabezado:
Permitir: especifica los métodos de solicitud admitidos por el servidor (GET, POST, etc.)
Cache-Control: le indica al navegador u otro cliente que almacene en caché el documento Entorno de seguridad
Conexión: especifica que el navegador no tiene que utilizar un valor cerrado para conexiones HTTP persistentes
Disposición de contenido: requiere que el navegador solicite al cliente que almacene el respuesta en el disco con un nombre determinado en el archivo
Content-Encoding: Indica la codificación utilizada por la página durante la transmisión
Content-Language: El idioma utilizado en el documento
p>
Longitud del contenido: el número de bytes en la respuesta
Tipo de contenido: MIME
Tiempo de caducidad: especifique el tiempo de caducidad del contenido para que no se realice el almacenamiento en caché. ya no es necesario: respuesta.setDataHeader(Expires, Time)
Última modificación: indica la hora en que se modificó el documento por última vez
Posición: todas las respuestas entre 300 y 399 deben contener este encabezado, que informará al navegador de la dirección del documento
Actualizar: Indica el tiempo necesario para que el navegador solicite la última página: respuesta.setIntHeader(Refresh, 30)
Set-Cookie: Especifica la cookie asociada con la página
Algunos detalles aún no están muy claros, así que los cubriré más adelante
Otra cosa que quiero mencionar, y esto también es algo en Core Servlets y JavaServer Pages, consiste en realizar cálculos que consumen mucho tiempo. Una parte muy importante del proceso de la tarea:
Simplemente inicie un hilo y establezca la prioridad de ese hilo en un valor más bajo para que no afecte a todo el proceso. servidor, por supuesto que debe usarse continuamente p>
If(!isLastResult){
response.setIntHeader (Refresh, 5)
}
Para una clase de operador específica, puede definirla así:
Thread t =new Thread(this);
t.setPriority(Thread.MIN_PRIORITY); p>
t.start( );
t.setPriority(Thread.MIN_PRIORITY);
t.start( );
p>
La ventaja de esto es que el usuario no esperará demasiado.