Petición HTTP
A continuación vemos a composición dunha petición HTTP.
Liña de partida
A liña de petición inclúe a seguinte información:
- Método HTTP. Exemplo:
GET - Ruta ou recurso solicitado. Exemplo:
/index.html - Versión do protocolo HTTP. Exemplo:
HTTP/2
Exemplo de liña de partida:
GET /index.html HTTP/2
HTTP define un conxunto de métodos de solicitude para indicar a acción a realizar para un recurso específico. Estes son os métodos máis utilizados xunto a súa función:
GET: solicita a representación dun recurso específico. As solicitudes que utilizan o métodoGETsó deben recuperar datos.HEAD: pide unha resposta idéntica á dunha solicitude GET, pero sen o corpo da resposta.POST: úsase para enviar unha entidade a un recurso específico, a miúdo provocando un cambio de estado ou efectos secundarios no servidor.PUT: substitúe todas as representacións actuais do recurso de destino coa carga útil da solicitude.DELETE: elimina un recurso específico.OPTIONS: úsase para describir as opcións de comunicación do recurso de destino.
Campos da cabeceira máis comúns
Aquí tes os campos de cabeceira máis comúns. Nunha petición HTTP non teñen porque aparecer todos.
| Campo | Función | Exemplo |
|---|---|---|
Host | Indica o dominio ou IP do servidor solicitado. Obrigatorio en HTTP/1.1. | Host: www.exemplo.com |
User-Agent | Informa sobre o navegador ou aplicación que fai a petición. | User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64) |
Accept | Indica que tipos de contido acepta o cliente (HTML, JSON, etc.). Os valores válidos son tipos MIME (Media Types) | Accept: text/html, application/json |
Accept-Language | Indica o idioma preferido para a resposta. | Accept-Language: gl-GL, es-ES;q=0.8 |
Accept-Encoding | Especifica os algoritmos de compresión que acepta o cliente. | Accept-Encoding: gzip, deflate, br |
Connection | Controla se a conexión debe quedar aberta tras a resposta. | Connection: keep-alive |
Referer | Indica a URL desde a que se fixo a petición. | Referer: https://www.google.com/ |
Cookie | Envía cookies previamente gardadas polo cliente. | Cookie: ID_usuario=12345; tema=oscuro |
Authorization | Envía credenciais para acceder a recursos protexidos. | Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l |
Content-Type | (en POST/PUT) Indica o tipo de datos que se están enviando. Os valores válidos son tipos MIME (Media Types) | Accept: text/html, application/json |
| Content-Length | (en POST/PUT) Indica o tamaño do corpo da mensaxe. | Content-Length: 348 |
Exemplo completo dunha petición HTTP
GET /index.html HTTP/2
Host: gitlab.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:142.0) Gecko/20100101 Firefox/142.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-ES,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br, zstd
Connection: keep-alive