PDA

View Full Version : Protocollo HTTP


tglman
04-04-2005, 12:01
Ho alcune domande sul protocollo http, ma sono un pò difficili e richiedono una conoscenza approfondita del protocollo, io le scrivo voi cercate di rispondere.....

Per costruire delle condizioni con il protocollo HTTP/1.1 esistono dei campi di header del tipo:
If-Modified-Since
If-Match
If-None-Match
If-Range
If-Unmodified-Since

io ho cercato di capire come funzionano ma ho capito solo un pò If-Modified-Since e If-Unmodified-Since ma degli altri non ho capito niente, sto leggendo la specifica rfc2068 che potete trovare Qui (http://www.faqs.org/rfcs/rfc2068.html), ma non essendo una cima in inglese non riesco a capirla bene...
Grazie in anticipo....
Ciao.

Blackat
05-04-2005, 08:49
http://www.cs.tut.fi/~jkorpela/http.html

A quanto ho capito If-Match e If-None-Match servono per verificare
certe condizioni che possono essere specificare attraverso
una "quoted string". Immagino che la condizione sia verificata
dal webserver.

If-Range invece serve a un client che ha una parte di un pagina
web in cache e vuole ottenere le ulteriori parti della pagina web.

If-Modified-Since e If-Unmodified-Since servono per controllare
se la pagina è stata, o rispettivamente non modificata,
prima di una certa data.
Se i due predicati non sono veri, allora il webserver risponde con
un errore di tipo 412 (Precondition Failed).

Spero di essere stato chiaro, altrimenti contattami.

Ciao.

tglman
05-04-2005, 09:01
grazie.... un'altro paio di cose,
il valore della stringa di if-match e if-none-match cosa deve contenere....
io capito che vanno inseriti dei valori di entity-tag del tipo di quelli usati in una normale richiesta...
es:

GET / HTTP/1.1
.....
if-match: content-length:20

ma non gredo di aver capito bene almento dagli esempi....
Invece if-range cosa dovrebbe contenere??????
bo forse un paio di valori che indicano quale parte del file serve...

Ciao mi sto intrippando...
Per la cronaco sto cercando di creare un web server...
Ciao

Blackat
05-04-2005, 09:11
Ho trovato il seguente esempio di If-Range


GET / HTTP/1.1
Host: foo.example.com
Range: bytes=1-8
If-Range: Sun, 10 Oct 2004 07:02:24 GMT

GET / HTTP/1.1
Host: foo.example.com
Range: bytes=12-16
If-Previous-Return-Code: 206

GET / HTTP/1.1
Host: foo.example.com
Range: bytes=32-128
If-Previous-Return-Code: 206



Che dovrebbe fare 3 richieste alla / di foo.example.com chiedendo
i byte definiti nelle entità Range, in data 10 Ottobre 2004 07:02:24.

tglman
05-04-2005, 09:21
Grazie mi stai delucidando una serie di vecchi problemi...
appena capita e risolta bene questa parte conto di pubblicare il codice sul mio sito e poi certamente mi servirà una mano anche con le estenzioni definite dall'rfc2616...
per adesso mi dorebbe mancore solo if-match e parente(if-none-match)
Un'enorme grazie

Blackat
05-04-2005, 09:23
in bocca al lupo ;)