Buscar..


Parámetros

Método HTTP Propósito
OPTIONS Recupere información sobre las opciones de comunicación (métodos disponibles y encabezados) disponibles en el URI de solicitud especificado.
GET Recupere los datos identificados por el URI de solicitud o los datos producidos por el script disponible en el URI de solicitud.
HEAD Idéntico a GET excepto que el servidor no devolverá ningún cuerpo de mensaje: solo encabezados.
POST Envíe un bloque de datos (especificado en el cuerpo del mensaje) al servidor para agregarlos al recurso especificado en el URI de la solicitud. Más comúnmente utilizado para el procesamiento de formularios.
PUT Almacene la información adjunta (en el cuerpo del mensaje) como un recurso nuevo o actualizado bajo el URI de solicitud dado.
DELETE Eliminar, o poner en cola para la eliminación, el recurso identificado por el URI de la solicitud.
TRACE Esencialmente, un comando echo: un servidor HTTP compatible y en funcionamiento debe enviar la solicitud completa de vuelta como el cuerpo de una respuesta 200 (OK).

Observaciones

El método CONNECT está reservado por la especificación de las definiciones de métodos para su uso con proxies que pueden cambiar entre los modos de proxy y túnel (por ejemplo, para el túnel SSL).

Enviar una solicitud HTTP mínima manualmente utilizando Telnet

Este ejemplo demuestra que HTTP es un protocolo de comunicaciones de Internet basado en texto y muestra una solicitud HTTP básica y la respuesta HTTP correspondiente.

Puede usar Telnet para enviar manualmente una solicitud HTTP mínima desde la línea de comandos, de la siguiente manera.

  1. Inicie una sesión de Telnet en el servidor web www.example.org en el puerto 80:

    telnet www.example.org 80
    

    Telnet informa que se ha conectado al servidor:

    Connected to www.example.org.
    Escape character is '^]'.
    
  1. Ingrese una línea de solicitud para enviar una ruta URL de solicitud GET / , usando HTTP 1.1

    GET / HTTP/1.1
    
  2. Ingrese una línea de campo de encabezado HTTP para identificar la parte del nombre de host de la URL requerida, que se requiere en HTTP 1.1

    Host: www.example.org
    
  3. Ingrese una línea en blanco para completar la solicitud.

    El servidor web envía la respuesta HTTP, que aparece en la sesión de Telnet.

La sesión completa, es la siguiente. La primera línea de la respuesta es la línea de estado HTTP , que incluye el código de estado 200 y el texto de estado OK , que indican que la solicitud se procesó correctamente. A esto le siguen varios campos de encabezado HTTP, una línea en blanco y la respuesta HTML.

$ telnet www.example.org 80
Trying 2606:2800:220:1:248:1893:25c8:1946...
Connected to www.example.org.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.example.org

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html
Date: Thu, 21 Jul 2016 15:56:05 GMT
Etag: "359670651"
Expires: Thu, 28 Jul 2016 15:56:05 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (lga/1318)
Vary: Accept-Encoding
X-Cache: HIT
x-ec-custom-error: 1
Content-Length: 1270

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is established to be used for illustrative examples in documents. You may use this
    domain in examples without prior coordination or asking for permission.</p>
    <p><a href="http://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>

(Elemento de style y líneas en blanco eliminadas de la respuesta de HTML, por brevedad.)

Formato de solicitud básico

En HTTP 1.1, una solicitud HTTP mínima consiste en una línea de solicitud y un encabezado de Host :

GET /search HTTP/1.1 \r\n
Host: google.com \r\n
\r\n

La primera línea tiene este formato:

Method Request-URI HTTP-Version CRLF

Method debe ser un método HTTP válido; uno de [1] [2] :

  • OPTIONS
  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  • PATCH
  • TRACE
  • CONNECT

Request-URI indica el URI o la ruta al recurso que el cliente está solicitando. Puede ser:

  • un URI completamente calificado, que incluye esquema, host, puerto (opcional) y ruta; o
  • una ruta, en cuyo caso el host debe especificarse en el encabezado del Host

HTTP-Version indica la versión del protocolo HTTP que utiliza el cliente. Para solicitudes HTTP 1.1, esto siempre debe ser HTTP/1.1 .

La línea de solicitud finaliza con un retorno de carro: par de avance de línea, generalmente representado por \r\n .

Campos de encabezado de solicitud

Los campos de encabezado (generalmente llamados "encabezados") se pueden agregar a una solicitud HTTP para proporcionar información adicional con la solicitud. Un encabezado tiene una semántica similar a los parámetros pasados ​​a un método en cualquier lenguaje de programación que admita tales cosas.

Una solicitud con encabezados Host , User-Agent y Referer puede tener este aspecto:

GET /search HTTP/1.1 \r\n
Host: google.com \r\n
User-Agent: Chrome/54.0.2803.1 \r\n
Referer: http://google.com/ \r\n
\r\n

Se puede encontrar una lista completa de encabezados de solicitud HTTP 1.1 admitidos en la especificación . Los más comunes son:

  • Host : la parte del nombre de host de la URL de solicitud (requerida en HTTP / 1.1)
  • User-Agent : una cadena que representa la solicitud del agente de usuario;
  • Referer - el URI del cual el cliente fue referido aquí; y
  • If-Modified-Since : proporciona una fecha que el servidor puede usar para determinar si un recurso ha cambiado e indica que el cliente puede usar una copia en caché si no lo ha hecho.

Un encabezado debe formarse como Name: Value CRLF . Name es el nombre del encabezado, como User-Agent . Value es la información que se le asigna, y la línea debe terminar con un CRLF. Los nombres de encabezados no distinguen entre mayúsculas y minúsculas y solo pueden usar letras, dígitos y los caracteres !#$%&'*+-.^_`|~ (RFC7230 sección 3.2.6 Componentes de valor de campo ).

El nombre del campo del encabezado del Referer es un error tipográfico para ' Referer ', introducido accidentalmente en RFC1945 .

Cuerpos de mensajes

Algunas solicitudes HTTP pueden contener un cuerpo de mensaje. Estos son datos adicionales que el servidor utilizará para procesar la solicitud. Los cuerpos de los mensajes se utilizan con mayor frecuencia en las solicitudes POST o PATCH y PUT, para proporcionar nuevos datos que el servidor debe aplicar a un recurso.

Las solicitudes que incluyen un cuerpo de mensaje siempre deben incluir su longitud en bytes con el encabezado Content-Length .

Se incluye un cuerpo de mensaje después de todos los encabezados y un doble CRLF. Un ejemplo de solicitud PUT con un cuerpo podría verse así:

PUT /files/129742 HTTP/1.1\r\n
Host: example.com\r\n
User-Agent: Chrome/54.0.2803.1\r\n
Content-Length: 202\r\n
\r\n
This is a message body. All content in this message body should be stored under the 
/files/129742 path, as specified by the PUT specification. The message body does
not have to be terminated with CRLF.

HEAD solicitudes HEAD y TRACE no deben incluir un cuerpo de mensaje.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow