Hyper Text Caching Protocol

Hyper Text Caching Protocol

Informations
Fonction partage de cache répartis
Sigle HTCP
Date de création janvier 2000
Port 4827 (UDP et UDP)
RFC 2576

HTCP, HyperText Caching Protocol ou Protocole de cache hypertexte est un protocole expérimental décrit dans la RFC 2756[1] utilisé pour partager et découvrir les contenus des caches (antémémoires) HTTP entre serveurs mandataires. Il permet également la gestion d'un groupe de serveurs cache HTTP et la surveillance mutuelle.

Contrairement au protocole ICP conçu pour le HTTP/0.9, qui ne conserve que les données d'un objet liées à une URI, HTCP conserve également les éléments d'en-tête lui permettant de partager différents objets en cache liés à une même URI, assurant une compatibilité HTTP/1.0 et HTTP/1.1.

Il étend les possibilités de gestion des caches en partageant :

  • les ajouts ;
  • les suppressions ;
  • les demandes de suppression immédiates ;
  • des indications (sur quel serveur cache tiers trouver un objet indisponible sur la toile...) ;

sur des objets web au sein d'une grappe de serveurs caches implémentant HTCP.

Un mécanisme d'authentification entre serveurs de cache permet de n'accepter des modifications de cache que des serveurs authentifiés. Ce mécanisme permet d'assurer l'intégrité des caches d'un groupe de serveurs de confiance. La sécurité repose sur un (ou plusieurs) secret partagé.

Les serveurs mandataires qui supportent HTCP :

Structure des messages HTCP modifier

Un message HTCP comprend trois sections:

  • l'en-tête (header),
  • les données (data),
  • l'authentification.

En-tête La longueur de l'en-tête est fixée à 6 octets.

Données Les données ont une longueur variable limitée par la taille maximale d'un message HTCP moins la taille de l'authentification.

Authentification Permet de transférer les éléments d'authentification inter serveurs de cache.

L'en-tête ICP contient trois champs.

En-tête HTCP
Bit offset Bits 0–7 8–15
0 Longueur du message
16 Longueur du message
32 Version majeure Version mineure

La longueur est la longueur totale du message HTCP. Les versions majeures ne sont pas forcément rétrocompatibles.

La partie données dépend de la version HTCP signalée dans l'en-tête.

Données HTCP/0.0
Bit offset Bits 0–7 8–15
0 Longueur des données
16 Opcode Code réponse Réservé F1 RR
32 Trans-ID
48 Trans-ID
64+ Données

Le champ RR désigne s'il s'agit d'une demande (1) ou d'une réponse (0).

La partie authentification est définie comme suit :

Authentification HTCP
Bit offset Bits 0–7 8–15
0 Longueur de l'authentification
16 Heure de l'authentification
32 Heure de l'authentification
48 Expiration de signature
64 Expiration de signature
80 nom de la clé
n Signature

Liens externes modifier