HTTP_
seguido del nombre del encabezado. Cualquier carácter guion ( -
)
del nombre del encabezado se convierte a caracteres "_"
.
Ejemplos de estos encabezados del cliente son
HTTP_ACCEPT
y
HTTP_USER_AGENT
.
HTTP_ACCEPT
. Los tipos MIME que el cliente aceptará, dados
los encabezados HTTP.
Los elementos de esta lista deben
estar separados por comas
HTTP_USER_AGENT
. El navegador que utiliza el cliente para
realizar la petición. El formato general para esta variable es:
software/versión biblioteca/versión.
HTTP/1.1 200 OK
,
y su propio mensaje. El cuerpo de este mensaje suele ser el recurso
solicitado, aunque puede que se trate de un mensaje de error u otro tipo de información.
Veamos un ejemplo. Usemos este servidor:
[~/local/src/ruby/sinatra/rack/rack-debugging]$ cat hello1.rb require 'rack' class HelloWorld def call env [200, {"Content-Type" => "text/plain"}, ["Hello world"]] end end Rack::Handler::WEBrick::run HelloWorld.new
[~/local/src/ruby/sinatra/rack/rack-debugging]$ ruby hello1.rb [2013-09-23 15:16:58] INFO WEBrick 1.3.1 [2013-09-23 15:16:58] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin11.4.2] [2013-09-23 15:16:58] INFO WEBrick::HTTPServer#start: pid=12113 port=8080
Arrancamos un cliente con telnet con la salida redirigida:
[~/local/src/ruby/sinatra/rack/rack-debugging]$ telnet localhost 8080 > salida
Escribimos esto en la entrada estandard:
GET /index.html HTTP/1.1 Host: localhost Connection: closecon una línea en blanco al final. Este texto es enviado al servidor.
El cliente deja su salida en el fichero salida
:
[~/local/src/ruby/sinatra/rack/rack-debugging]$ cat salida Trying ::1... Connected to localhost. Escape character is '^]'. HTTP/1.1 200 OK Content-Type: text/plain Server: WEBrick/1.3.1 (Ruby/1.9.3/2013-02-22) Date: Mon, 23 Sep 2013 14:33:16 GMT Content-Length: 11 Connection: close Hello worldEl cliente escribe en la salida estandard:
Connection closed by foreign host.
Solicita una representación de un recurso especificado. Las peticiones que usen GET deberían limitarse a obtener los datos y no tener ningún otro efecto.
Pregunta por la misma respuesta que una petición GET pero sin el cuerpo de la respuesta
Requests that the server accept the entity enclosed in the request as a new subordinate of the web resource identified by the URI. The data POSTed might be, as examples,
Requests that the enclosed entity be stored under the supplied URI. If the URI refers to an already existing resource, it is modified; if the URI does not point to an existing resource, then the server can create the resource with that URI.
Deletes the specified resource.
Echoes back the received request so that a client can see what (if any) changes or additions have been made by intermediate servers.
Returns the HTTP methods that the server supports for the specified
URL. This can be used to check the functionality of a web server
by requesting *
instead of a specific resource.
Converts the request connection to a transparent TCP/IP tunnel, usually to facilitate SSL-encrypted communication (HTTPS) through an unencrypted HTTP proxy.
Is used to apply partial modifications to a resource. HTTP servers are required to implement at least the GET and HEAD methods and, whenever possible, also the OPTIONS method
Casiano Rodríguez León