65 votos

Cargas de Solicitud HTTP Métodos

La entrada de Wikipedia sobre HTTP , muestra la siguiente petición HTTP métodos:

  • HEAD: Pide la respuesta idéntica a la que correspondería a una petición GET, pero sin el cuerpo de la respuesta.
  • OBTENER: Solicita una representación del recurso especificado.
  • POST: Envía los datos a ser procesados (por ejemplo, a partir de un formulario HTML) para el recurso identificado. Los datos se incluyen en el cuerpo de la solicitud.
  • PUESTO: Carga de una representación del recurso especificado.
  • ELIMINAR: Elimina el recurso especificado.
  • TRACE: repite la solicitud recibida, de manera que un cliente puede ver lo que (si los hubiera) los cambios o adiciones que se han hecho por intermedio de los servidores.
  • OPCIONES: Devuelve los métodos HTTP que el servidor admite para la dirección URL especificada. Esto puede ser usado para verificar la funcionalidad de un servidor web que solicitan '*' en lugar de un recurso específico.
  • CONECTAR: Convierte la petición de conexión a un sistema transparente de TCP/IP del túnel, por lo general para facilitar SSL-comunicación cifrada (HTTPS) a través de un proxy HTTP sin cifrar.
  • REVISIÓN: Se utiliza para aplicar modificaciones parciales a un recurso.

Estoy interesado en saber (específicamente con respecto a los primeros cinco métodos):

  • cual de estos métodos son capaces de (supuesta?) recibir cargas
    • de los métodos que pueden recibir cargas, ¿cómo lo reciben?
      • a través de la cadena de consulta en la URL?
      • a través de la URL codificada cuerpo?
      • a través de raw / fragmentada del cuerpo?
      • a través de una combinación de ([todos / algunos de) los de arriba?

Agradezco todos los aportes, si usted podría compartir algunos (preferiblemente de luz) de la lectura que sería demasiado grande!

82voto

Alix Axel Puntos 63455

Aquí está el resumen de RFC 7231, una versión actualizada del enlace @Darrel publicado:

  • HEAD - No definido cuerpo semántica.
  • GET - No definido cuerpo semántica.
  • PONER el Cuerpo apoyado.
  • POST - Cuerpo apoyado.
  • ELIMINAR - No definido cuerpo semántica.
  • TRAZA el Cuerpo no se admite.
  • OPCIONES - Cuerpo de apoyo, pero no semántica en el uso (tal vez en el futuro).
  • CONECTAR - No definido cuerpo semántica

Como @Juan también se menciona, todos los métodos de solicitud de apoyo a las cadenas de consulta en la URL (una notable excepción podrían ser las OPCIONES que sólo parece ser útil en mis pruebas] si la URL es HOST/*).

Yo no he probado la de CONECTAR y REVISIÓN de los métodos ya que no tengo ningún interés en ellos ATM.

28voto

Darrel Miller Puntos 56797

Este http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-14 es la más actualizada y autorizada fuente en la semántica de los métodos HTTP.

Si usted cree que cualquier cosa es ambiguo, a continuación, hay una lista de correo aquí http://lists.w3.org/Archives/Public/ietf-http-wg/ a expresar sus preocupaciones.

3voto

John Chadwick Puntos 1903

Estoy bastante seguro de que no está claro si o no las solicitudes GET puede tener cargas. Las solicitudes GET generalmente formulario de envío de datos a través de la cadena de consulta, lo mismo para las solicitudes HEAD. La HEAD es esencialmente GET - excepto que no quiere un cuerpo de respuesta.

(Nota al margen: me dicen que no es clara debido a una petición GET técnicamente podría actualizar a otra protocolo; de hecho, una versión de websockets hizo exactamente esto, y mientras que algunos software de proxy trabajado bien con ella, otros se ahogaron en el apretón de manos.)

POST en general, tiene un cuerpo. Nada impide el uso de una cadena de consulta, pero el cuerpo del POST lo general contienen datos de formulario en un POST.

Para obtener más (y más detallada), se me pegaba el real HTTP/1.1 especificaciones.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X