PDA

Bekijk Volledige Versie : Vreemde HTTP-response van webserver



Rene Pijlman
17/02/03, 12:05
De server http://www.computerhistory.org/ geeft op een
HTTP-request een vreemde response. Een stukje van de
conversatie:

-+-+-+-
GET / HTTP/1.1
Host: www.computerhistory.org
Connection: close
User-Agent: Sam Spade 1.14

<html>
<head>
-+-+-+-

Ofwel: de response begint niet met de verplichte HTTP-headers en
bestaat alleen uit de HTML-pagina.

Herkent iemand dit gedrag? Is dit bepaalde software, een
configuratiefout, of was er ooit oude versie van de
HTTP-standaard zonder headers in de response?

Browsers lijken er geen probleem mee te hebben. De site is goed
te gebruiken met IE en Mozilla.

Ik vraag dit i.v.m. een link checker die ik zelf geschreven heb
en ik probeer te bedenken hoe ik met dit soort eigenwijze
webservers moet omgaan...

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Jan Ehrhardt
17/02/03, 12:15
Rene Pijlman in nl.internet.www.server-side (Mon, 17 Feb 2003 11:55:00
+0100):

>De server http://www.computerhistory.org/ geeft op een
>HTTP-request een vreemde response. Een stukje van de
>conversatie:
>
>-+-+-+-
>GET / HTTP/1.1
>Host: www.computerhistory.org
>Connection: close
>User-Agent: Sam Spade 1.14
>
><html>
><head>
>-+-+-+-
>
>Ofwel: de response begint niet met de verplichte HTTP-headers en
>bestaat alleen uit de HTML-pagina.

Welke verplichte HTTP-headers mis je eigenlijk? De enige die ik kan
bedenken is het Content-Type. Verder zie je meestal wel een Date: en een
Server: maar die lijken me niet echt verplicht.

Die server lijkt trouwens wel headers mee te sturen, maar dan als onderdeel
van de content:

GET /tdih/february/17/tdih_photo.gif HTTP/1.1
Host: www.computerhistory.org
Connection: close

Read 8192 bytes from host www.computerhistory.org, path
/tdih/february/17/tdih_photo.gif

HTTP/1.1 200 OK
Date: Mon, 17 Feb 2003 11:13:49 GMT
Server: Apache
Last-Modified: Wed, 16 Feb 2000 04:26:22 GMT
ETag: "13e00-674b-38aa26ee"
Accept-Ranges: bytes
Content-Length: 26443
Connection: close
Content-Type: image/gif

GIF89a–

Jan
--
Dropdown and pushup menu's - http://cgi.monitor.nl/cms.html

Ronald Klip
17/02/03, 12:25
Rene Pijlman schreef:
> De server http://www.computerhistory.org/ geeft op een
> HTTP-request een vreemde response. Een stukje van de
> conversatie:
>
> -+-+-+-
> GET / HTTP/1.1
> Host: www.computerhistory.org
> Connection: close
> User-Agent: Sam Spade 1.14
>
> <html>
> <head>
> -+-+-+-
>
> Ofwel: de response begint niet met de verplichte HTTP-headers en
> bestaat alleen uit de HTML-pagina.

wget -S meldt het volgende:

Connecting to www.computerhistory.org:80... connected!
HTTP request sent, awaiting response...
12:02:20 ERROR -1: Malformed status line.

Die status-line zou in dit geval 'HTTP/1.1 200 OK' moeten luiden. De
pagina heet index.page; wellicht is dat een zelfgebakken script waarin
een foutieve header wordt gestuurd? (moet haast wel, na het lezen van
Jans posting). Volgens rfc2616 moeten clients dan toch de meegestuurde
content tonen.

Misschien is het de ultieme manier om caching te voorkomen ;-)

--
groet, Ronald

Herbert Groot Jebbink
17/02/03, 12:25
Rene Pijlman wrote:

> De server http://www.computerhistory.org/ geeft op een
> HTTP-request een vreemde response. Een stukje van de
> conversatie:
>
> Ofwel: de response begint niet met de verplichte HTTP-headers en
> bestaat alleen uit de HTML-pagina.
>
> Herkent iemand dit gedrag? Is dit bepaalde software, een
> configuratiefout, of was er ooit oude versie van de
> HTTP-standaard zonder headers in de response?

maf ding, doch bij een 404 krijg je wel wat fatsoenlijks terug.

wget --debug "http://www.computerhistory.org/bestaatniet.html"

HTTP request sent, awaiting response... HTTP/1.1 404 Not Found
Date: Mon, 17 Feb 2003 11:11:19 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

hgj

Rene Pijlman
17/02/03, 12:25
Jan Ehrhardt:
>Rene Pijlman:
>>Ofwel: de response begint niet met de verplichte HTTP-headers en
>>bestaat alleen uit de HTML-pagina.
>
>Welke verplichte HTTP-headers mis je eigenlijk? De enige die ik kan
>bedenken is het Content-Type. Verder zie je meestal wel een Date: en een
>Server: maar die lijken me niet echt verplicht.

Nou, om te beginnen de statusregel ("HTTP/1.1 200 OK"). Die is
verplicht, maar strikt genomen is dat geen header, ik
formuleerde het dus verkeerd.

Zie de inleiding van hoofdstuk 6 en paragraaf 6.1 op
ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt

>Die server lijkt trouwens wel headers mee te sturen, maar dan als onderdeel
>van de content:
[...]
>HTTP/1.1 200 OK
>Date: Mon, 17 Feb 2003 11:13:49 GMT
>Server: Apache
>Last-Modified: Wed, 16 Feb 2000 04:26:22 GMT
>ETag: "13e00-674b-38aa26ee"
>Accept-Ranges: bytes
>Content-Length: 26443
>Connection: close
>Content-Type: image/gif

Deze statusregel en headers krijg ik niet in de response. Zie
http://www.samspade.org/t/safe?u=http%3A%2F%2Fwww.computerhistory.org%2F

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Jan Ehrhardt
17/02/03, 12:25
Jan Ehrhardt in nl.internet.www.server-side (Mon, 17 Feb 2003 12:14:46
+0100):

>Die server lijkt trouwens wel headers mee te sturen, maar dan als onderdeel
>van de content:
>
>GET /tdih/february/17/tdih_photo.gif HTTP/1.1
>Host: www.computerhistory.org
>Connection: close
>
>Read 8192 bytes from host www.computerhistory.org, path
>/tdih/february/17/tdih_photo.gif

Vergeet dat "als onderdeel van de content". Dat was een verkeerde
interpretatie van Samspade's weergave. Oftewel: hij stuurt gewoon headers
mee, behalve bij de /index.page.

Jan
--
Dropdown and pushup menu's - http://cgi.monitor.nl/cms.html