Os dois métodos HTTP mais utilizados são: GET e POST.
O que é HTTP?
O Hypertext Transfer Protocol (HTTP) é projetado para permitir a comunicação entre clientes e servidores.
HTTP funciona como um protocolo de solicitação-resposta entre um cliente e servidor.
Um navegador da Web pode ser o cliente e um aplicativo em um computador que hospeda um web site pode ser o servidor.
Exemplo: Um cliente (browser) envia uma solicitação HTTP para o servidor; em seguida, o servidor devolve uma resposta para o cliente. A resposta contém informações de status sobre o pedido e também pode conter o conteúdo solicitado.
Duas Pedir Métodos HTTP: GET e POST
Dois métodos comumente utilizados para a solicitação-resposta entre um cliente e servidor são: GET e POST.
- GET - solicita dados de um recurso especificado
- POST - Dados submete a ser processado para um recurso especificado
O método GET
Note-se que a string de consulta (pares nome / valor) é enviado na URL de uma solicitação GET:
/test/demo_form.asp?name1=value1&name2=value2
Algumas outras notas sobre solicitações GET:
- GET solicitações podem ser armazenadas em cache
- Requisições GET permanecem no histórico do navegador
- Recebo pedidos podem ser marcadas
- Requisições GET nunca deve ser usado quando se lida com dados sensíveis
- Recebo pedidos têm restrições de comprimento
- Recebo pedidos deve ser usado apenas para recuperar dados
O método POST
Note-se que a string de consulta (pares nome / valor) é enviado no corpo da mensagem HTTP de um pedido POST:
POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2
Algumas outras notas sobre solicitações POST:
- POST pedidos nunca são armazenados em cache
- solicitações POST não permanecem no histórico do navegador
- POST pedidos não podem ser marcadas
- solicitações POST não têm restrições sobre o comprimento de dados
Compare GET vs. POST
A tabela a seguir compara os dois métodos HTTP: GET e POST.
OBTER | POSTAR | |
---|---|---|
botão BACK / Reload | Inofensivo | Os dados serão novamente submetidos (o navegador deve alertar o usuário de que os dados estão prestes a ser novamente apresentados) |
Favorito | Podem ser marcadas | Não pode ser marcada |
Em cache | Pode ser armazenado em cache | não em cache |
tipo de codificação | application / x-www-form-urlencoded | application / x-www-form-urlencoded ou / form-data com várias partes. Usar codificação multipart de dados binários |
História | Parâmetros permanecem no histórico do navegador | Os parâmetros não são salvas no histórico do navegador |
Restrições quanto ao comprimento de dados | Sim, ao enviar dados, o método GET adiciona os dados para o URL; e o comprimento de um URL é limitado (máximo comprimento URL é 2048 caracteres) | Sem restrições |
Restrições ao tipo de dados | Apenas caracteres ASCII permitidos | Sem restrições. Os dados binários também é permitido |
Segurança | GET é menos seguro em comparação com POST porque os dados enviados é parte do URL Nunca use GET ao enviar senhas ou outras informações sensíveis! | POST é um pouco mais seguro do que GET porque os parâmetros não são armazenadas no histórico do navegador ou em logs de servidores web |
Visibilidade | Dados é visível para todos na URL | Os dados não é exibido na URL |
Outros métodos de solicitação HTTP
A tabela a seguir lista alguns outros métodos de solicitação HTTP:
Método | Descrição |
---|---|
HEAD | Mesmo que GET, mas retorna apenas os cabeçalhos HTTP e nenhum corpo documento |
PUT | Carrega uma representação do URI especificado |
DELETE | Exclui o recurso especificado |
OPTIONS | Retorna os métodos HTTP que o servidor suporta |
CONNECT | Converte a conexão pedido para um túnel TCP transparente / IP |