Proposition de nouveau header au protocole HTTP : TimeZone
Un article de OoKoo.org.
Sommaire |
Status
Cette note a été proposée à l'IETF en tant qu'addentum au protocole HTTP. Une réponse arrivera bientôt (pour le moment, tout le monde est occupé avec le meeting qui arrive bientôt à l'IETF).
Les discussions sont ouvertes.
Préface
Le protocole HTTP, à l'heure actuelle, transmet de nombreuses informations au serveur avec lequel il communique. Ces informations sont destinées à améliorer la personalisation des pages fournies par le serveur pour le visiteur (Accept-Language : le contenu peut être adapté aux préférences du visiteur).
Toutefois le fait de proposer du contenu à des personnes de tous les horizons pose encore un problème : celui du décalage horaire. En effet il est peu concevable de demander au visiteur lors de son arrivée sur quelle zone horaire il se situe (cette liste étant de plus relativement longue).
Il n'est pas rare que des applications interactives affichent des heures aux clients. En particulier c'est le cas des forums, des blogs, et de tout un tas d'applications utilisant des langages serveur tels que PHP. PHP dispose justement d'une nouvelle fonction date_default_timezone_set qui permet de modifier le comportement des fonctions de date de PHP. Il ne serait pas compliqué, à partir de là, de modifier PHP pour qu'il règle automatiquement la date en fonction de la valeur du header.
C'est pourquoi il est fait proposition ici d'ajouter le support de cette information au protocole HTTP.
Réalisation technique
Données transmises
Le header se présenterait sous cette forme (exemple pour Paris, en France) :
Accept-TimeZone: Europe/Paris
Ou encore (support selon la RFC 822) :
Accept-TimeZone: +0200
Dans le cas où le timezone n'est pas transmit ou est invalide, il appartient au serveur de choisir s'il utilise sa propre zone locale, ou la zone GMT.
A noter également que le nom de l'en-tête n'est pas définitif, et pourrait devenir Accept-Timezone, ou tout autre nom décidé comme convenant à la situation.
Compatibilité
L'ajout d'un nouveau header transmit systématiquement par le client ne pose pas de réel problème au niveau du protocole HTTP, étant donné qu'il a été prévu pour supporter ce genre de modifications. Il n'y a donc pas réellement de problèmes à se poser sur ce point là.
En ce qui concerne la compatibilité windows/linux de l'information elle-même, il n'y a pas de réel soucis à se faire, ce point ayant déjà été discuté et réglé mainte fois pour d'autres projets.
Sécurité
Dans certains systèmes d'exploitation (UNIX), les informations sur les zones horaires sont stockées dans des fichiers (typiquement /usr/share/zoneinfo/). Il n'y a normalement pas de risques de tentatives d'accès a d'autres fichiers, toutefois une vérification supplémentaire peut être préférable.
Implémentation
L'implémentation dans des clients connus tels que Firefox de devrait pas poser de problèmes, toutefois il reste à savoir si Microsoft acceptera d'ajouter cette fonction dans MSIE6/MSIE7 sans broncher.
