| Verbo | Idempotente | Seguro |
|---|---|---|
| GET | Sim | Sim |
| POST | Sim | Não |
| PUT | Não | Não |
| DELETE | Sim | Não |
Recursos individuais podem definir suas capacidades usando métodos HTTP suportados. Nos serviços Representational State Transfer (REST), os métodos suportados são GET, PUT, DELETE e POST. Todas as operações são normalmente conduzidas usando um dos métodos HTTP predefinidos com um recurso.
Entenda os métodos HTTP predefinidos e seus atributos conhecidos. Alguns métodos HTTP são considerados seguros, significando que a emissão do pedido não altera o recurso, ou considerados idempotentes (inalteráveis), significando que várias chamadas da operação não alteram o resultado. Enquanto que os métodos HTTP são definidos como tendo determinados atributos, a implementação do serviço segue as definições. Consulte as informações de definições de método HTTP para saber mais sobre o conjunto comum de métodos para HTTP.
Os clientes usam os métodos HTTP para executar determinadas operações. Diferente de outros sistemas distribuídos em que interfaces exclusivas são definidas por cada sistema, os sistemas RESTful baseados em HTTP dependem principalmente de métodos predefinidos.
Os quatro métodos mais comuns são GET, PUT, DELETE e POST. Os recursos não são necessários para permitir todos os métodos HTTP para todos os clientes. O método HTTP GET recupera uma representação de recurso. Ele é protegido e inalterável. Os pedidos GET repetidos não alteram nenhum recurso. O método HTTP PUT é normalmente usado para atualizar recursos ou para criar uma nova entidade em uma URL conhecida. Quando um recurso tiver que ser atualizado ou criado, um método HTTP PUT é emitido na URL de recurso com os novos dados de recurso que a entidade de pedido, também conhecido como corpo da mensagem.
O método HTTP PUT é inalterável para que vários pedidos PUT idênticos com a mesma entidade na mesma URL gere o mesmo resultado como se apenas um pedido PUT fosse emitido. Esse método assume que nenhum outro pedido relevante foi feito. O método HTTP DELETE remove um recurso em uma determinada URL. Ele também é inalterável.
O método HTTP POST normalmente é usado ao criar um recurso em uma coleta quando a URL do recurso final não for conhecida. Por exemplo, um administrador emite um pedido POST em um recurso de coleta /users que cria um usuário com um ID exclusivo, como 1234567890 . O ID exclusivo é então usado como parte do caminho de URL para descrever o novo recurso de usuário, como /users/1234567790 . Ele não é protegido e não é inalterável. Nesse caso, os vários pedidos POST para a coleta /users podem continuar criando um novo ID exclusivo e incluindo esse novo ID na coleta de usuários mesmo se o usuário tiver as mesmas informações.