Hoy me ha llamado un amigo preguntándome como saber si una petición que estaba haciendo a un servidor era correcta o no.
Lo primero en lo que pensé fue en usar curl, pero luego me quedé pensando en otras formas de hacerlo, desde wget hasta netcat. Sin ir a opciones raras, aquí van 3 formas de obtener las cabeceras HTTP de respuesta:
Mirar cabeceras HTTP con Curl (La primera porque es la que suelo usar) Incluyo la opción de seguir las redirecciones indicadas por el servidor.
curl -I http://m
javi@musashi:~$ curl -I -L http://www.slashdot.org
HTTP/1.1 301 Moved Permanently (Nos indican una redirección al host del campo posterior «Location»)
Server: Apache/2.2.3 (CentOS) Indica el servidor que está despachando la petición. Puede ser real o estar manipulado.
Location: http://slashdot.org/ Aquí es a donde nos mandan.
Content-Type: text/html; charset=iso-8859-1
Content-Length: 309 Tamaño de la respuesta
Date: Sat, 08 Jun 2013 13:03:19 GMT
X-Varnish: 1849026558 1849026381 Usan varnish cache. Bien 🙂
Age: 35 Cuantos segundos tiene el contenido servido.
Connection: keep-alive Usan keepalive para minimizar conexiones
Vary: Accept-Encoding Permiten compresión gzip si la soporta el cliente
HTTP/1.1 200 OK La petición ya no es redirigida y es correcta.
Server: Apache/2.2.3 (CentOS)
SLASH_LOG_DATA: shtml
Cache-Control: no-cache
Pragma: no-cache
X-XRDS-Location: http://slashdot.org/slashdot.xrds
Content-Type: text/html; charset=utf-8
Content-Length: 112918
Date: Sat, 08 Jun 2013 13:03:19 GMT
X-Varnish: 1898815004 1898814944
Age: 13
Connection: keep-alive
Vary: Accept-Encoding
Otras formas de ver las cabeceras son:
Mirar cabeceras HTTP con Wget
wget -S http://url
Mirar cabeceras HTTP con Telnet
javi@musashi:~$ telnet telnet> open slashdot.org 80 Trying 216.34.181.45... Connected to slashdot.org. Escape character is '^]'. GET / HTTP/1.1 Host: www.slashdot.org HTTP/1.1 301 Moved Permanently Server: Apache/2.2.3 (CentOS) Location: http://slashdot.org/ Content-Type: text/html; charset=iso-8859-1 Content-Length: 309 Date: Sat, 08 Jun 2013 13:09:18 GMT X-Varnish: 1793797545 1793797529 Age: 4 Connection: keep-alive Vary: Accept-Encoding301 Moved Permanently Moved Permanently
The document has moved here.
Apache/2.2.3 (CentOS) Server at www.slashdot.org Port 80 Connection closed by foreign host.