Estou escrevendo um módulo RESTful API para um aplicativo em PHP e estou um pouco confuso com os verbos HEAD
e OPTIONS
.
OPTIONS
Usado para recuperar os verbos HTTP disponíveis para um determinado recurso?HEAD
Usado para determinar se um determinado recurso está disponível?
Se alguém pudesse esclarecer * esses verbos, agradeceríamos muito.
* O esclarecimento foi com relação às arquiteturas de API RESTful que re-propõem verbos HTTP. Desde então, cheguei à conclusão de que ambos HEAD
e nãoOPTIONS
devem ser reaproveitados e, em vez disso, comportar-se de maneira previsível como qualquer aplicativo HTTP deveria. Ah, como crescemos em 2 anos.
Respostas:
Conforme: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
fonte
CONNECT
verbo. Seria uma escolha ruim consumir esse método para autenticação RESTful?CONNECT
uma forma de encapsulamento SSL, mas imagine o que aconteceria se um consumidor de seu aplicativo tivesse um proxy implementadoCONNECT
da forma como foi especificado no RFC, as solicitações podem não ser repassadas ao seu inscrição.OPTIONS
método retorna informações sobre API (métodos / tipo de conteúdo)HEAD
método retorna informações sobre o recurso (versão / comprimento / tipo)Resposta do servidor
OPÇÕES
CABEÇA
Aqui está um artigo bom e conciso sobre como HEAD e OPTIONS se encaixam na arquitetura RESTful.
fonte
OPTIONS informa coisas como "Quais métodos são permitidos para este recurso".
HEAD obtém o cabeçalho HTTP que você obteria se fizesse uma solicitação GET, mas sem o corpo. Isso permite que o cliente determine as informações de armazenamento em cache, que tipo de conteúdo seria retornado, que código de status seria retornado. A disponibilidade é apenas uma pequena parte dela.
fonte
OPTIONS
foi o que imaginei, e tal implementação será fácil com a minha abordagem existente. De acordo com a citação RFC de sdolgy,OPTIONS
não define nenhum padrão no formato. É assumido que o formato da resposta é o mesmo que as outras respostas? ( por exemplo, JSON, XML, etc. )