Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

SharePoint : Modification des Headers Entity Tags (ETags) dans IIS

Dans la continuité des modifications permettant d’améliorer les performances d’une ferme SharePoint, nous allons voir le cas particulier de l’entête HTTP ETag :

Ce paramètre ajouté directement par le serveur WEB permet d’avoir une “datation” du flux envoyé par celui-ci.

L’idée est donc de permettre au client WEB la possibilité de comparer directement la date de chargement de deux objets. Si on trouve une différence entre ces deux objets, un rechargement est fait, sinon le cache du navigateur est utilisé.

On trouve une explication de ce mécanisme avec Internet Explorer :


Problème en cas de clustering

Dans le cas d’une ferme SharePoint, on peut avoir plusieurs Web Front End qui vont donc répartir la charge WEB entre chaque machine (que ce soit via NLB, BigIP ou autre).

La valeur Etag peut être spécifique à un serveur et host, ce qui fait que, suivant la machine qui nous répond, la valeur de cet Etag pour un même objet ne sera pas la même et donc Internet Explorer effectuera un rechargement de l’objet.

A ce moment on comprend que le cache coté utilisateur n’est plus utilisé de manière optimale à cause de ce test et de cette différence de valeur qui n’a aucun rapport avec la fraicheur du contenu côté serveur


Solution

La solution alternative est donc de bloquer cette option sur chaque application WEB de chaque serveur placé dans le cluster WEB. Pour faire simple, on va forcer la valeur de cet entête à vide.

Pour cela, il faut se connecter sur chacun des serveurs Web Front End de la ferme et ouvrir IIS Manager, on va cliquer avec le bouton droit sur une des Applications Web de la ferme et choisir “Properties” :

Untitled

On va alors sélectionner la rubrique “HTTP Headers” et cliquer sur “Add” dans la partie “Custom HTTP headers” :

Untitled2

On va donc remplir les champs :

  • Custom header name: Etag
  • Custom header value: [vide]

Untitled3

On valide par OK et on applique la modification, qui va nous demander si on applique celle-ci sur tous les répertoires virtuels ou non :

Untitled4

on clique sur OK et on confirme ce changement.


Conclusion

Une fois appliquée sur toutes les Web Applications de tous les serveurs WEB de la ferme SharePoint, l’option Etag ne sera plus utilisée par le navigateur et vous éviterez des rechargements inutiles d’objet gérés par IIS.


Attention:

Cette modification ne sera prise en compte que pour les objets gérés par IIS. En effet, SharePoint gère aussi un flag HTTP Header ETag, comme on peut le voir sur la capture suivante :

Untitled5

La valeur est alors sous un format spécifique géré par SharePoint et non plus IIS et sera la même pour chaque objet provenant de n’importe quel Web Front End.


Romelard Fabrice [MVP]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 15 septembre 2010 18:08 par ROMELARD Fabrice

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Gestion des Thumbnails dans Office 365 Video Portal par Blog Technique de Romelard Fabrice le 07-22-2016, 17:09

- Office 365: Gestion des sous-titres dans Office 365 Video Portal par Blog Technique de Romelard Fabrice le 07-22-2016, 10:50

- SharePoint 2016 : Mais ou se trouve le “Open in file explorer” dans les modern libraries ??? par The Mit's Blog le 07-07-2016, 14:11

- Office 2016 : Au revoir le Document Information Panel (DIP) par The Mit's Blog le 07-05-2016, 17:59

- Error 1300 lors de la certification d’un app UWP sur le Store par Blog de Jérémy Jeanson le 07-02-2016, 22:46

- Lancez-vous un défi accessibilité ! par Blog de Jérémy Jeanson le 06-05-2016, 20:57

- C’est quoi l’accessibilité en informatique ? par Blog de Jérémy Jeanson le 06-05-2016, 17:24

- Module web pour rediriger les utilisateurs non autorisés par Blog de Jérémy Jeanson le 05-31-2016, 13:06

- Entity Framework et Delete par Blog de Jérémy Jeanson le 05-26-2016, 12:23

- Entity Framwork et mises à jour de données avec ou sans contraintes par Blog de Jérémy Jeanson le 05-24-2016, 13:04