Saltar al contenido principal

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étodo GET só 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.

CampoFunciónExemplo
HostIndica o dominio ou IP do servidor solicitado. Obrigatorio en HTTP/1.1.Host: www.exemplo.com
User-AgentInforma sobre o navegador ou aplicación que fai a petición.User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64)
AcceptIndica 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-LanguageIndica o idioma preferido para a resposta.Accept-Language: gl-GL, es-ES;q=0.8
Accept-EncodingEspecifica os algoritmos de compresión que acepta o cliente.Accept-Encoding: gzip, deflate, br
ConnectionControla se a conexión debe quedar aberta tras a resposta.Connection: keep-alive
RefererIndica a URL desde a que se fixo a petición.Referer: https://www.google.com/
CookieEnvía cookies previamente gardadas polo cliente.Cookie: ID_usuario=12345; tema=oscuro
AuthorizationEnví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