Métodos de solicitação HTML
- Página anterior Mensagem HTTP
- Próxima página Atalhos de Teclado
O que é HTTP?
O Protocolo de Transferência de Hipertexto (Hypertext Transfer Protocol, abreviado como HTTP) visa permitir a comunicação entre o cliente e o servidor.
HTTP atua como um protocolo de solicitação-resposta entre o cliente e o servidor.
Exemplo: o cliente (navegador) envia uma solicitação HTTP para o servidor; em seguida, o servidor retorna a resposta para o cliente. A resposta contém informações sobre o estado da solicitação, e pode conter o conteúdo solicitado.
Métodos HTTP
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
Os dois métodos mais comuns são: GET e POST.
Método GET
GET é usado para solicitar dados de um recurso específico.
GET é um dos métodos HTTP mais comuns.
Atenção, a string de consulta (par de nome/valor) é enviada na URL da solicitação GET:
/test/demo_form.php?name1=value1&name2=value2
Alguns outros comentários sobre solicitações GET:
- Solicitações GET podem ser armazenadas em cache
- Solicitações GET são mantidas no histórico do navegador
- Solicitações GET podem ser salvas como favoritos
- Não deve usar solicitações GET para dados sensíveis
- Solicitações GET têm restrições de comprimento
- Solicitações GET devem ser usadas apenas para recuperar dados (sem modificar).
Método POST
POST é usado para enviar dados para o servidor para criar/actualizar um recurso.
Os dados enviados para o servidor através do POST são armazenados no corpo da solicitação HTTP:
POST /test/demo_form.php HTTP/1.1 Host: codew3c.com name1=value1&name2=value2
POST é um dos métodos HTTP mais comuns.
Alguns outros comentários sobre solicitações POST:
- A solicitação POST não será armazenada em cache
- A solicitação POST não será mantida no histórico do navegador
- POST não pode ser salvo como favorito
- A solicitação POST não tem restrições de comprimento de dados
Método PUT
PUT é usado para enviar dados para o servidor para criar/actualizar um recurso.
A diferença entre POST e PUT está no fato do PUT ser idempotente (idempotent). Isso significa que várias chamadas do mesmo PUT sempre produzirão o mesmo resultado. Por outro lado, repetir chamadas de POST terá o efeito colateral de criar múltiplas vezes o mesmo recurso.
Método HEAD
HEAD é quase idêntico ao GET, mas sem corpo de resposta.
Em outras palavras, se GET /users retornar uma lista de usuários, HEAD /users emitirá a mesma solicitação, mas não retornará a lista de usuários.
A solicitação HEAD é útil para verificar o conteúdo que a solicitação GET retornará antes de realmente enviar a solicitação GET (por exemplo, antes de baixar um grande arquivo ou antes de enviar o corpo da resposta).
Método DELETE
O método DELETE remove o recurso especificado.
Método OPTIONS
O método OPTIONS descreve as opções de comunicação do recurso alvo.
Comparar GET com POST
A tabela abaixo compara dois métodos HTTP: GET e POST.
GET | POST | |
---|---|---|
Botão de voltar/refresh | Inofensivo | Os dados serão enviados novamente (o navegador deve informar ao usuário que os dados serão enviados novamente). |
Favorito | Pode ser salvo como favorito | Não pode ser salvo como favorito |
Cache | Pode ser armazenado em cache | Não pode ser cacheado |
Tipo de codificação | application/x-www-form-urlencoded | application/x-www-form-urlencoded ou multipart/form-data. Use codificação múltipla para dados binários. |
Histórico | Os parâmetros são mantidos no histórico do navegador. | Os parâmetros não são armazenados no histórico do navegador. |
Restrições de comprimento de dados | Sim. Quando dados são enviados, o método GET adiciona dados à URL; o comprimento da URL é limitado (o comprimento máximo da URL é de 2048 caracteres). | Sem restrições. |
Restrições de tipo de dados | Apenas caracteres ASCII são permitidos. | Sem restrições. Também permite dados binários. |
Segurança | Em comparação com POST, GET tem menor segurança, pois os dados enviados são parte da URL. Nunca use GET ao enviar senhas ou outras informações sensíveis! |
O POST é mais seguro do que o GET, pois os parâmetros não são armazenados no histórico do navegador ou no log do servidor web. |
Visibilidade | Os dados são visíveis para todos na URL. | Os dados não serão exibidos na URL. |
- Página anterior Mensagem HTTP
- Próxima página Atalhos de Teclado