protocolo parametros para injector enviar encabezados dummies cabeceras cabecera http rest http-headers httprequest

injector - parametros cabecera http



REST: encabezados HTTP o parĂ¡metros de solicitud (1)

He estado investigando sobre REST. Noté que la API de Amazon S3 usa principalmente encabezados http para su interfaz REST. Esto fue una sorpresa para mí, ya que asumí que la interfaz funcionaría principalmente fuera de los parámetros de solicitud.

Mi pregunta es esta: ¿Debería desarrollar mi interfaz REST usando principalmente encabezados http, o debería usar parámetros de solicitud?


La pregunta principal es si los parámetros definidos son parte del identificador de recursos (URI) o no. si es así, entonces usaría los parámetros de solicitud, de lo contrario, encabezados personalizados HTTP. Por ejemplo, pasar el id del album en una galería de música debe ser parte del URI.

Recuerde, por ejemplo /employee/id/45 (Or /employee?id=45 , REST no tiene un prejuicio contra los parámetros de la cadena de consulta o para limpiar los URI separados por barras) identifica un recurso. Ahora puede usar la negociación de contenido enviando el content-type: text/plain encabezado de solicitud content-type: text/plain o content-type: image/jpg para obtener la información o la imagen. A este respecto, se considera que el recurso es el mismo y el encabezado solo se utiliza para definir el formato del recurso.

En general, no soy un gran admirador de los encabezados personalizados HTTP. Esto generalmente asume que el cliente tiene un conocimiento previo de la implementación del servidor (no detectable a través de medios HTTP naturales, es decir, hipermedios) que siempre se considera un patrón de REST

Los encabezados HTTP generalmente definen aspectos de HTTP ortogonales a lo que se debe lograr en el proceso de solicitud / respuesta. Authorization encabezado de Authorization (realmente un nombre inapropiado, debe haber sido la autenticación) es un ejemplo clásico.