Qual é a lógica por trás do cabeçalho HTTP Data?
Pergunta
Eu li RFC 2616 , mas ainda Eu me pergunto, o que o campo Data é para. Não é o campo Last-Modified, que realmente tem um significado metadados, além de apenas servir, isto é, para armazenamento em cache ( 'If-Modified-Since').
Mas o que uso tem-se dobrar a informação em um cabeçalho Data separado?
Solução
Por spec, ele é usado em cálculos de idade. Se você não sabe o tempo que o servidor pensa que é, você não será capaz de calcular a "idade" de um recurso. Aqui está o texto relevante do spec:
Resumo do algoritmo de cálculo da idade, quando um cache recebe uma resposta:
age_value
é o valor da Idade: cabeçalho recebido pelo cache com esta resposta.
date_value
é o valor do cabeçalhoDate:
do servidor de origem
request_time
é a hora (local) quando o cache feito o pedido que resultou nessa resposta em cache
response_time
é a hora (local) quando o cache recebeu o resposta ??p>
now
é o atual tempo (local)apparent_age = max(0, response_time - date_value); corrected_received_age = max(apparent_age, age_value); response_delay = response_time - request_time; corrected_initial_age = corrected_received_age + response_delay; resident_time = now - response_time; current_age = corrected_initial_age + resident_time;