Question

J'ai lu des RFC 2616 , mais toujours Je me demande à quoi sert le champ Date. Il existe le champ Last-Modified, qui a en fait une signification autre que celle de servir des métadonnées, c'est-à-dire pour la mise en cache ('If-Modified-Since').

Mais à quoi sert-il de doubler les informations dans un en-tête de date séparé?

Était-ce utile?

La solution

Selon la spécification , elle est utilisée dans les calculs d'âge. Si vous ne savez pas à quelle heure le serveur pense qu'il est, vous ne pourrez pas calculer l’âge " age " d'une ressource. Voici le texte pertinent de la spécification:

  

Résumé de l'algorithme de calcul de l'âge lorsqu'un cache reçoit une réponse:

     

valeur_âge
        est la valeur de Age: en-tête reçu par le cache avec                 cette réponse.

     

valeur_date
        est la valeur de l'en-tête Date: du serveur d'origine

     

request_time
        est l'heure (locale) à laquelle le cache a fait la demande                 qui a abouti à cette réponse en cache

     

temps_réponse
        est l'heure (locale) à laquelle le cache a reçu le                 réponse

     

maintenant
        est l'heure actuelle (locale)

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;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top