cerca
HTTP Headers
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Return to HTTP Headers  (Edit)

Uni.HTTPHeaders History

Hide minor edits - Show changes to output

Changed line 3 from:
[[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]
to:
[[Torna alla pagina di Sistemi per l'elaborazione delle informazioni->Sistemi]]
Changed line 141 from:
[[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]
to:
[[Torna alla pagina di Sistemi per l'elaborazione delle informazioni->Sistemi]]
Changed lines 60-62 from:
* '''Range''': ???\\
Indica una serie di operazioni che è possibile compiere su gruppetti di byte (byte-range per gli amici). Non tutti i client e i server supportano però tali operazioni. \\
Esempio: ??? (rif: http://tools.ietf.org/html/rfc2616#section-14.35)
to:
* '''Range''': ''parametri''\\
Indica una serie di operazioni che è possibile compiere su gruppetti di byte (byte-range per gli amici). Non tutti i client e i server supportano però tali operazioni.\\
Vediamo attraverso degli esempi alcuni possibili parametri, ipotizzando che la dimensione completa del messaggio sia di 10000 bytes:
** "voglio i primi 1000 bytes"\\
''Range: bytes=0
-999''
** "voglio gli ultimi 2000 bytes"\\
''Range: bytes=-2000''
** "voglio i bytes dal 2000 al 3000 (estremi compresi
)"\\
''Range: bytes=2000-3000''
** "voglio solo il primo e l'ultimo byte"\\
''Range: bytes=0-0,-1''
Changed line 59 from:
Si presume che indichi il tipo di connessione utilizzata dal client. In realtà non è definita nel protocollo ma pare sia un hack introdotto da Netscape. Dovrebbe funzionare come l'header ''Connection'', quindi se è impostata a ''close'' significa che né il client né il proxy-server vorranno comunicare ancora dopo questa transazione; viceversa se gli viene dato valore ''keep-alive''.\\
to:
Si presume che indichi il tipo di connessione utilizzata dal client. In realtà non è definita nel protocollo ma pare sia un hack introdotto da Netscape. Dovrebbe funzionare come l'header ''Connection'', quindi se è impostata a ''close'' significa che né il client né il proxy-server vorranno comunicare ancora dopo questa transazione; viceversa se gli viene dato valore ''keep-alive''.
Added lines 58-59:
*'''Proxy-Connection''': ''opzioni''\\
Si presume che indichi il tipo di connessione utilizzata dal client. In realtà non è definita nel protocollo ma pare sia un hack introdotto da Netscape. Dovrebbe funzionare come l'header ''Connection'', quindi se è impostata a ''close'' significa che né il client né il proxy-server vorranno comunicare ancora dopo questa transazione; viceversa se gli viene dato valore ''keep-alive''.\\
Changed line 10 from:
>>left bgcolor=#f5f9fc width=130px border='2px solid #cccccc' padding=5px<<
to:
>>left bgcolor=#f5f9fc width=180px border='2px solid #cccccc' padding=5px<<
Added line 2:
[[#su]]
Deleted lines 5-8:
(:include Servizi.DaModificare:)

->[[!'''DaModificare''']]: ''completarlo''
Changed lines 10-14 from:
!!!Link da cui prendere info
[[http://java.html.it/articoli/leggi/2189/request-e-response-header-del-protocollo-http/]]\\
[[http://openskills.info/infobox.php?ID=358]]\\
[[http://tools.ietf.org/html/rfc2616#section-5.1]]
to:
>>left bgcolor=#f5f9fc width=130px border='2px solid #cccccc' padding=5px<<
%center%'''Indice'''

#
[[#h1|HTTP request]]
# [[#h2|HTTP response]]
>><<

----

[[#h1]]
Added lines 68-70:
[[#su|[-'''Torna su'''-]]]

[[#h2]]
Added lines 128-129:
[[#su|[-'''Torna su'''-]]]
Added lines 101-103:
* '''Expires''': ''data''\\
Indica la data dopo la quale il file servito è da considerare obsoleto. Va considerata da tutti i meccanismi di cache coinvolti nella richiesta.\\
Esempio: ''Expires: Tue, 06 Jun 2666 06:60:60 GMT''
Changed lines 110-111 from:
* '''Proxy-Authenticate''':
to:
* '''Proxy-Authenticate''': ???\\
Indica lo schema e i parametri di autenticazione applicabili al proxy per la richiesta di una determinata URI. Questo header deve essere obbligatoriamente incluso come parte della risposta 407 (Proxy Authentication Required).\\
Esempio: ??? (rif: http://tools.ietf.org/html/rfc2616#section-14.9)
* '''Server''': ''nome server''\\
Indica il nome e la versione del web server. Puramente informativo.\\
Esempio: ''Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)''
* '''Set-cookie''': ''parametri''\\
Ordina all'user-agent del client di conservare le informazioni contenute nei cookies e di rinviarle al server in occasione di un nuovo collegamento. I parametri possono essere di diverso tipo, ad esempio nomi, date, indirizzi, ecc.\\
Esempio: ''Set-Cookie: ACQUIRENTE=Damiani; OGGETTO=Esame; expires=Tue, 23 Jan 2008 10:00:00 GMT''
* '''WWW-Authenticate''': ???\\
Indica almeno uno schema e/o parametri di autenticazione da applicare per la richiesta di una determinata URI, in caso di messaggio di risposta 401 (Unauthorized, ovvero autenticazione possibile ma fallita o che non può essere fornita).\\
Esempio: ??? (rif: http://tools.ietf.org/html/rfc2616#section-14.47)
Changed lines 95-99 from:

* '''ETag''':
to:
* '''Data''': ''data''\\
Indica la data e l'ora in cui è stato inviato il messaggio dal server.\\
Esempio: ''Date: Tue, 20 Jan 1955 12:01:31 GMT''
* '''ETag''': ''entity tag''\\
Indica il tipo di firma di una pagina (se la pagina cambia, cambia la firma).\\
Esempio: ''ETag: "spruzzoMerdaDaTuttiIpori"''
* '''Last-Modified''': ''data''\\
Indica la data dell'ultima modifica dell'oggetto richiesto.\\
Esempio: ''Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT''
* '''Location''': ''indirizzo''\\
Campo utilizzato dai reindirizzatori di URL, per indicare al navigatore il nuovo indirizzo dove andare cercare la pagina.\\
Esempio: ''Location: http://www.tettone.com'' ("confermiamo l'esistenza del sito" ndAutori)
* '''Proxy-Authenticate''':
Changed line 52 from:
Pone una condizione sull'invio della risorsa richiesta al server: se tale richiesta non ha subito alcuna modifica dalla data passata come parametro dell'header, allora non viene ritornata dal server.\\
to:
Pone una condizione sull'invio della risorsa richiesta al server: se tale richiesta non ha subito alcuna modifica dalla data passata come parametro dell'header, allora non viene ritornata dal server. Cancellare quest'intestazione forzerà il server ad inviare una pagina anche se questa si trova nella cache del browser.\\
Changed lines 67-68 from:
...
to:
Come per le request, anche in questo caso alcuni header possono essere facoltativi.

* '''Accept-Ranges''': ''range accettato''\\
Indica il tipo di range supportato dal server per una risorsa
. Quello più comune è il range di byte, ma è anche possibile che non ne sia supportato alcuno, e quindi il parametro avrà valore "none".\\
Esempio: ''Accept-Ranges: bytes'' - ''Accept-Ranges: none''
* '''Age''': ''secondi''\\
Indica il tempo stimato da quando è stata generata la risposta sul server, espresso in secondi.\\
Esempio: ''Age: 2''
* '''Cache-Control''': ''direttive''\\
Influisce sul modo in cui le pagine sono conservate nella cache dell'user-agent del client. Tra le direttive che posso passare come parametro ho: "public" (le risorse vanno conservate), "private" (le risorse non vanne conservate), "no-cache" (sa il cazzo), "no-store" (mah), "max-age" (dà un'indicazione sul tempo di conservazione), bla bla.
* '''Content-Encoding''': ''encoding-type''\\
Il tipo di codifica fatta sul contenuto del messaggio, inviata per consentire al client di decodificarlo.\\
Esempio: ''Content-Encoding: gzip''
* '''Content-Language''': ''lingua''\\
Il linguaggio utilizzato.\\
Esempio: ''Content-Language: it''
* '''Content-Length''': ''lunghezza''\\
La lunghezza della risorsa trasmessa, espressa in bytes.\\
Esempio: ''Content-Length: 348''
* '''Content-Location''': ''indirizzo''\\
Indica l'indirizzo URI di provenienza dei documenti.\\
Esempio: ''Content-Location: /index.htm''
* '''Content-Range''': ''range''\\
Nel caso in cui un messaggio venisse trasmesso in parti, indica dove è collocato un particolare messaggio parziali all'interno di quello completo.\\
Esempio: ''Content-Range: bytes 500-1001/1001''
* '''Content-Type''': ''tipo''\\
Indica i tipi di file inviati dal server, specificandoli nel formato [[MIME->Ceravolo#s102]], e l'eventuale charset correlato.\\
Esempio: ''Content-Type: text/html; charset=utf-8''


* '''ETag''':
Added lines 19-20:
Da considerare che la maggior parte degli header sottostanti sono assolutamente facoltativi.
Added lines 42-47:
* '''Expect''': ''???''\\
Indica il particolare tipo di comportamento del server che è stato richiesto dal client.\\
Esempio: ??? (rif: http://tools.ietf.org/html/rfc2616#section-14.20)
* '''From''': ''mailbox''\\
Indica l'indirizzo e-mail dell'utente che ha generato la richiesta dall'user agent del client.\\
Esempio: ''From: webmaster@w3.org''
Changed line 49 from:
Indica l'hostname ed il numero di porta del server che il client vuole contattare.\\
to:
Indica il nome ed il numero di porta del server che il client vuole contattare.\\
Added lines 51-58:
* '''If-Modified-Since''': ''HTTP-date''\\
Pone una condizione sull'invio della risorsa richiesta al server: se tale richiesta non ha subito alcuna modifica dalla data passata come parametro dell'header, allora non viene ritornata dal server.\\
Esempio: ''If-Modified-Since: Mon, 21 Jan 2008 16:50:31 GMT''
* '''Proxy-Authorization''': ''credenziali''\\
Permette al client di identificare sé stesso (o l'utente) presso un proxy che richiede un'autenticazione. Le credenziali contengono le informazioni riguardanti le autorizzazioni dell'utente e dell'user-agent registrate presso il proxy.
* '''Range''': ???\\
Indica una serie di operazioni che è possibile compiere su gruppetti di byte (byte-range per gli amici). Non tutti i client e i server supportano però tali operazioni. \\
Esempio: ??? (rif: http://tools.ietf.org/html/rfc2616#section-14.35)
Changed line 33 from:
Esempio: ''Authorization: BASIC ceravolo:pigiama''
to:
Esempio: ''Authorization: BASIC ceravolo:pigiamino''
Added lines 19-50:
* '''Accept''': ''tipo/sottotipo [;q=valore]''\\
Indica i tipi di file accettati dal client, specificandoli nel formato [[MIME->Ceravolo#s102]]. In particolare, se il client è in grado di accettare tutti i tipi, può scrivere semplicemente ''*/*''. Il parametro ''q'' è opzionale ed esprime in percentuale (quindi con valori compresi tra 0 e 1) la preferenza da associare ai vari tipi.\\
Esempi: ''Accept: text/plain image/gif'' - ''Accept: text/plain; q=0.5, text/html; q=0.8''
* '''Accept-Charset''': ''charset [;q=valore]''\\
Indica l'insieme di caratteri (charset) che il client può accettare. Il parametro ''q'' funziona nello stesso modo visto sopra.\\
Esempio: ''Accept-Charset: iso-8859-5, unicode-1-1''
* '''Accept-Encoding''': ''encoding-type [;q=valore]''\\
Indica il tipo di compressioni (encoding) che il client può accettare.\\
Esempio: ''Accept-Encoding: gzip, default''
* '''Accept-Language''': ''lingua [;q=valore]''\\
Indica la lingua che il client può accettare o preferisce ricevere.\\
Esempio: ''Accept-Language: it, en''
* '''Authorization''': ''credenziali''\\
Quando l'utente si è autenticato e accede a pagine protette, il client con questo header fornisce le credenziali richeste ed evita ulteriori richieste di autenticazione da sottoporre all'utente. Nelle specifiche HTTP/1.0 esiste uno schema di autorizzazione BASIC, in cui i parametri username e password sono passati in questo modo ''username:password'', e quindi codificati in base 64.\\
Esempio: ''Authorization: BASIC ceravolo:pigiama''
*'''Connection''': ''opzioni''\\
Indica il tipo di connessione utilizzata dal client. Se è impostata a ''close'', significa che né il client né il server vorranno comunicare ancora dopo questa transazione; viceversa se gli viene dato valore ''keep-alive''. I valori di default sono ''close'' per HTTP/1.0 e ''keep-alive'' per HTTP/1.1.\\
Esempio: ''Connection: close'' - ''Connection: keep-alive''
* '''Cookie''': ''nome=valore''\\
Indica i valori di eventuali cookie inviati dal server nelle precedenti comunicazioni con il client.\\
Esempio: ''Cookie: livello=25''
* '''Host''': ''hostname porta''\\
Indica l'hostname ed il numero di porta del server che il client vuole contattare.\\
Esempio: ''Host: www.pecorina.com 90''
* '''Referer''': ''url''\\
Indica la url della pagina web cui si fa riferimento.\\
Esempio: ''Referer: http://doppioclic.altervista.org/wiki/''
* '''User-agent''': ''nome user agent''\\
Indica il programma client che ha originato la richiesta HTTP (ad esempio, un browser).\\
Esempio: ''User-Agent: Mozilla 5.0''

!!!HTTP response
Deleted lines 52-54:
!!!HTTP response
...
Changed lines 14-15 from:
[[http://java.html.it/articoli/leggi/2189/request-e-response-header-del-protocollo-http/]]
[[http://openskills.info/infobox.php?ID=358]]
to:
[[http://java.html.it/articoli/leggi/2189/request-e-response-header-del-protocollo-http/]]\\
[[http://openskills.info/infobox.php?ID=358]]\\
Added lines 5-8:
(:include Servizi.DaModificare:)

->[[!'''DaModificare''']]: ''completarlo''
Added lines 13-17:
!!!Link da cui prendere info
[[http://java.html.it/articoli/leggi/2189/request-e-response-header-del-protocollo-http/]]
[[http://openskills.info/infobox.php?ID=358]]
[[http://tools.ietf.org/html/rfc2616#section-5.1]]
Changed lines 19-20 from:
to:
...
Changed lines 22-23 from:
to:
...
Added lines 1-14:
(:title HTTP Headers:)
[[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]
----

%titolo%''':: HTTP Headers ::'''

In una comunicazione HTTP tra client e server vengono normalmente inviati alcuni header, sia nei messaggi di richiesta che in quelli di risposta. Vediamo quali sono.

!!!HTTP request

!!!HTTP response

----
[[Torna alla pagina di Sistemi Anticoncezionali delle Reti e dei Damiani->Sistemi]]