Estoy escribiendo un módulo de API RESTful para una aplicación en PHP, y estoy un poco mezclado con los verbos HEAD
y OPTIONS
.
OPTIONS
¿Se utiliza para recuperar los verbos HTTP disponibles para un recurso determinado?HEAD
¿Se utiliza para determinar si un recurso determinado está disponible?
Si alguien pudiera aclarar * estos verbos, sería muy apreciado.
* La aclaración fue con respecto a las arquitecturas de API RESTful que reutilizan los verbos HTTP. Desde entonces, me he dado cuenta de que ambos HEAD
y noOPTIONS
deben tener un nuevo propósito, y en su lugar deben comportarse de manera predecible como lo haría cualquier aplicación HTTP. Oh, cómo crecemos en 2 años.
Respuestas:
Según: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
fuente
CONNECT
verbo. ¿Sería una mala elección consumir ese método para la autenticación RESTful?CONNECT
en una forma de tunelización SSL, pero imagine lo que sucedería si un consumidor de su aplicación tuviera un proxy que se implementaraCONNECT
de la forma en que se especificó en el RFC, las solicitudes podrían no pasar a su solicitud.OPTIONS
el método devuelve información sobre la API (métodos / tipo de contenido)HEAD
el método devuelve información sobre el recurso (versión / longitud / tipo)Respuesta del servidor
OPCIONES
CABEZA
Aquí hay un artículo agradable y conciso sobre cómo HEAD y OPTIONS encajan en la arquitectura RESTful.
fuente
OPCIONES le dice cosas como "Qué métodos están permitidos para este recurso".
HEAD obtiene el encabezado HTTP que obtendría si realizara una solicitud GET, pero sin el cuerpo. Esto permite al cliente determinar la información de almacenamiento en caché, qué tipo de contenido se devolverá, qué código de estado se devolverá. La disponibilidad es solo una pequeña parte.
fuente
OPTIONS
fue lo que pensé, y dicha implementación será fácil con mi enfoque actual. Según la cotización RFC de sdolgy,OPTIONS
no define ningún estándar en el formato. ¿Se asume que el formato de respuesta es el mismo que el de otras respuestas? ( p. ej., JSON, XML, etc. )