Servlet: solicitud HTTP del cliente

Cuando el usuario desee alguna información, la solicitará a través del navegador. Luego, el navegador enviará una solicitud de una página web al servidor web. Envía la información de la solicitud al servidor web que no se puede leer directamente porque esta información formará parte del encabezado de la solicitud HTTP.

Encabezado y descripciones

Nombre del encabezado

Descripción

Aceptar

Especifica los tipos MIME (también llamados tipos de medios de Internet o tipos de contenido que describen el tipo de contenido de los medios servido por aplicaciones o servidores web) que el navegador u otros clientes pueden manejar.

Aceptar juego de caracteres Especifica los juegos de caracteres que el navegador puede usar para mostrar la información
Aceptar-Codificación Especifica los tipos de codificaciones que admite el navegador.
Aceptar-Idioma Especifica los idiomas preferidos del cliente en caso de que el servlet pueda producir resultados en más de un idioma
Autorización Los clientes lo utilizan para identificarse cuando acceden a páginas web protegidas con contraseña.
Conexión Esto indica si el cliente puede manejar conexiones HTTP o no. 
Largancia de contenido Este encabezado es aplicable solo para requests POST y proporciona el tamaño de los datos POST
Galleta Esto devuelve las cookies a los servidores que se envían previamente al navegador.
Anfitrión Esto especifica el host y el puerto que se proporcionan en la URL original

Métodos que se utilizan para leer el encabezado HTTP

  • Cookie[] getCookies(): Devuelve todos los objetos de cookie que el cliente ha enviado con la solicitud
  • Enumeración getAttributeNames(): Devuelve una Enumeración que contiene los nombres de los atributos disponibles para esta solicitud.
  • Enumeración getHeaderNames(): Devuelve una enumeración de todos los nombres de encabezado que contiene esta solicitud.
  • Enumeración getParameterNames(): Devuelve una Enumeración de objetos de string que contiene los nombres de los parámetros de la solicitud actual.
  • HTTPSession getSession(): Devuelve la sesión que está asociada con esta solicitud, si la solicitud no tiene una sesión, entonces crea una sesión para esa solicitud.
  • Object getAttribute(String name): devuelve el valor del atributo nombrado como un objeto, o nulo si no existe ningún atributo con el nombre dado.
  • String getContentType(): devuelve el tipo MIME de la solicitud, o nulo si no se conoce el tipo.
  • String getMethod(): devuelve el nombre del método HTTP con el que se ha realizado la petición. Los métodos HTTP que se utilizan son GET, POST.

Hay varios otros métodos que se utilizan para leer el encabezado HTTP.

Ejemplo

Java

package com.headers;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletresponse;
// servlet implementation;
@WebServlet("/Headers")
public class Headers extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public Headers() { super(); }
    protected void doGet(HttpServletRequest request,
                         HttpServletResponse response)
        throws ServletException, IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String str = "Display Header Request";
        out.println(
            "<BODY BGCOLOR=\"#FF5732\">\n"
            + "<H1 ALIGN=CENTER>" + str + "</H1>\n"
            + "<B><center>Request Method: <center></B>"
            + request.getMethod() + "<BR>\n"
            + "<B>Request URI: </B>"
            + request.getRequestURI() + "<BR>\n"
            + "<B>Request Protocol: </B>"
            + request.getProtocol() + "<BR><BR>\n"
            + "<TABLE BORDER=1 ALIGN=CENTER>\n"
            + "<TR BGCOLOR=\"#FFAD00\">\n"
            + "<TH>Header Name<TH>Header Value");
        Enumeration headerNames = request.getHeaderNames();
        while (headerNames.hasMoreElements()) {
            Sting headerName
                = (String)headerNames.nextElement();
            out.println("<TR><TD>" + headerName);
            out.println("<TD>"
                        + request.getHeader(headerName));
        }
        out.println("<TABLE>\n</BODY></HTML>");
    }
}

Publicación traducida automáticamente

Artículo escrito por mvkrishna9985vmv y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *