HTTP defines eight methods (sometimes referred to as "verbs")¿Dónde encontrar ejemplos de métodos HTTP?
¿Puede ayudarme a encontrar ejemplos de cada uno para que pueda probar y comprenderlos mejor?
HTTP defines eight methods (sometimes referred to as "verbs")¿Dónde encontrar ejemplos de métodos HTTP?
¿Puede ayudarme a encontrar ejemplos de cada uno para que pueda probar y comprenderlos mejor?
Primero debe echar un vistazo a HTTP 1.1 specification, especialmente la sección method definitions.
OPCIONES Obtener información acerca de cómo el servidor permite comunicarse.
Solicitud:
OPTIONS * HTTP/1.1
Host: example.com
Respuesta:
HTTP/1.1 200 OK
Date: …
Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE
Content-Length: 0
GET recuperar un recurso.
Solicitud:
GET /foo/bar HTTP/1.1
Host: example.com
Respuesta:
HTTP/1.1 200 OK
Date: …
Content-Type: text/html;charset=utf-8
Content-Length: 12345
<!DOCTYPE …
CABEZA Como GET, pero devuelve sólo el encabezado HTTP.
Solicitud:
HEAD /foo/bar HTTP/1.1
Host: example.com
Respuesta:
HTTP/1.1 200 OK
Date: …
Content-Type: text/html;charset=utf-8
Content-Length: 12345
POSTAL Crear un nuevo recurso.
Solicitud:
POST /foo/bar HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
action=addentry&subject=Hello,%20World
Respuesta:
HTTP/1.1 201 Created
Date: …
Content-Length: 0
Location: http://example.com/foo/bar
PUT Enviar datos al servidor.
ELIMINAR Eliminar un recurso existente.
TRACE Devuelve los encabezados de solicitud enviados por el cliente.
Solicitud:
TRACE /foo/bar HTTP/1.1
Host: example.com
Respuesta:
HTTP/1.1 200 OK
Date: …
Content-Length: 17
Host: example.com
No sé exactamente si estos ejemplos son correctos. Siéntase libre de corregirlos.
muy buena respuesta :) – dfa
y cómo escribir un método de envío –
¿También cómo probar estos métodos? ¿Escribir dónde obtener la respuesta? –
Usted puede experimentar con los diferentes métodos HTTP utilizando la herramienta de línea de comandos cURL. Por ejemplo:
curl --head http://www.google.co.uk
HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Date: Sun, 19 Apr 2009 15:33:24 GMT
Expires: -1
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=a2a414b9a84c8ffd:TM=1240155204:LM=1240155204:S=16kZnqzeSxIJT3jv; expires=Tue, 19-Apr-2011 15:33:24 GMT; path=/; domain=.google.co.uk
Server: gws
Transfer-Encoding: chunked
Buena pista, + 1. Tenga en cuenta que no todos los navegadores admiten todos los métodos. Es por eso que, por ejemplo, Ruby on Rails en realidad solo usa GET y POST, y no PUT y DELETE. Si curl no es compatible con todos los métodos, entonces uno puede incluso usar telnet para invocarlos manualmente: ver, por ejemplo, http://tonycode.com/wiki/index.php?title=Making_HTTP_requests_via_telnet – Arjan
De acuerdo, lo he hecho con Telnet antes . –
Supongo que leer RFC 2616 explica todo: http://www.faqs.org/rfcs/rfc2616.html – Arjan
pregunta absolutamente válida en mi humilde opinión, el número de votos positivos para la pregunta y la respuesta aceptada muestran claramente – Tim