2010-10-17 18 views

risposta

26

Vedere la HTTP 1.1 specification su ciò che il Age header field è destinato ad essere utilizzato per:

L'età risposta campo intestazione trasmette stima del mittente della quantità di tempo poiché la risposta (o suo rinnovo) è stato generato il server di origine.

Queste informazioni vengono usate da proxy intermedio a convey an estimate of how old a stored response is:

HTTP/1.1 richiede server di origine per inviare un colpo di testa Data, se possibile, ad ogni risposta, dando l'ora in cui è stata generata la risposta (vedi sezione 14.18). Utilizziamo il termine "date_value" per indicare il valore dell'intestazione Data, in una forma appropriata per le operazioni aritmetiche.

HTTP/1.1 utilizza l'intestazione di risposta Età per comunicare l'età stimata del messaggio di risposta quando viene ottenuta da una cache. Il valore del campo Età è la stima della cache della quantità di tempo da quando la risposta è stata generata o riconvalidata dal server di origine.

Inoltre, il Età campo intestazione è destinato ad essere utilizzato da solo cache intermedi:

La presenza di un campo di intestazione età in una risposta implica che una risposta non è di prima mano.

Ciò significa che la presenza del campo di intestazione Age: 0 significa che la risposta ricevuta è stata inviata da una cache intermedia ed è vecchia di zero secondi. Quindi probabilmente è stato prelevato dal server di origine prima di inviarlo al client.

+0

si sta insinuando che questo! 'Cache' è un altro proxy server o dovrebbe essere un altro server proxy e se è il server di origine che risponde direttamente, l'intestazione di risposta all'età non dovrebbe essere impostata. Non vedo che nello standard, potrebbe essere una cache del server di origine no? – Blub

+0

@Blub La cache può qualsiasi nodo tra client e server. Possono esserci più proxy sul percorso o nessuno affatto La cache imposterà il valore del campo di intestazione * Age * in base all'età della rappresentazione memorizzata della risorsa richiesta. – Gumbo

3

Succede da precisare in the protocol:

La risposta campo intestazione età trasmette stima del mittente del quantità di tempo in quanto la risposta (o il suo rinnovo) era generata al server di origine. Una risposta memorizzata nella cache è "fresca" se la sua età non supera la sua durata di freschezza. I valori di età sono calcolati come specificato nella sezione 13.2.3.

 
    Age = "Age" ":" age-value 
    age-value = delta-seconds 

valori di età sono interi decimali non negativi, che rappresenta il tempo in secondi . Se una cache riceve un valore maggiore del numero intero positivo intero che può rappresentare, o se uno qualsiasi dei suoi calcoli di età overflow, DEVE trasmettere un'intestazione Age con un valore di 2147483648 (2^31). Un server HTTP/1.1 che include una cache DEVE include un campo di intestazione Età in ogni risposta generata dalla propria cache . Le cache DOVREBBERO utilizzare un tipo aritmetico di almeno 31 bit di intervallo.

5

"L'intestazione Età indica una stima, in numero di secondi, dell'età della risorsa richiesta dall'ultima richiesta dal server Web di origine."

" Poiché i ritardi della rete possono comportare il calcolo di età impropriamente basse, l'età viene ricalcolata in ogni fase del percorso di ritorno in base al tempo stimato tra il luppolo. Piuttosto che dipendere dai calcoli effettuati da altri proxy intermedi, l'età verrà generalmente calcolata come differenza tra la data corrente del proxy e l'intestazione generale Data inclusa nella risposta HTTP. Se gli orologi non sincronizzati rendono questo calcolo risultante in una differenza negativa, viene utilizzata un'età di 0. "

Chris Shiflett, 'Manuale di sviluppatore HTTP', pagina 83.

Problemi correlati