Quelles sont les valeurs valides pour HTTP Header pragma code>. Je sais
no-cache code> est un mais je wnat pour activer la mise en cache alors que dois-je le définir. J'ai fait des googles et tout ce que j'ai eu si la plupart des clients ignorent cela, mais aucune information sur d'autres valeurs qu'elle accepte. p>
3 Réponses :
surprenant, il n'y a qu'un seul paramètre défini par défaut, qui est no-cache et aucune nouvelle directive pragma ne sera définie dans HTTP selon RFC. P>
ref: http://www.w3.org/protocols/rfc2616/rfc2616 -Sec14.html # SEC14.32 P>
De plus, vous devrez utiliser l'en-tête ref: http://www.w3.org/protocols/rfc2616/rfc2616 -Sec14.html # SEC14.9 P>
Bonus: http://www.mnot.net/cache_docs/ p>
Vous recherchez probablement Cache-Control a >, Ceci est pris en charge dans http / 1.1 et définit plus d'états que pragma . P>
Quelques informations supplémentaires, cela pourrait aider certaines personnes moins intéressées à la mise en cache et plus intéressée par les en-têtes HTTP en général. I.e l'interprétation littérale de la question initiale "Quelles sont les valeurs valides pour le HTTP Header Pragma"? p>
La référence dans la réponse acceptée ( https://stackoverflow.com/a/7376516/3246928 ) est le Rfc http://www.w3.org/protocols/rfc2616 /rfc2616-sec14.html#sec14.32 . Il définit le snytax comme: p>
pragma = "pragma" ":" 1 # pragma-directive p>
pragma-directive = "no-cache" | Extension-Pragma P>
Extension-pragma = jeton ["=" (jeton | cordé)] p> blockQuote>
Ceci implique em> que toute paire "jeton = valeur" est acceptable (avec la valeur en option). La spécification continue à dire p>
Aucune nouvelle directive pragma ne sera définie dans HTTP. P> blockQuote>
Et je voudrais devinez em> ceci est également destiné à couvrir la partie "extension-pragma", mais j'aimerais avoir été plus sans ambiguïté ici. P>
Cet en-tête pas em> semble être spécifiquement créé pour la mise en cache; La description dans la RFC dit: p>
Le champ d'en-tête General Pragma est utilisé pour inclure la mise en œuvre- directives spécifiques qui pourraient s'appliquer à tout bénéficiaire le long de la Chaîne de demande / réponse p> blockQuote>
Donc, en théorie, vous pouvez ajouter des choses ici, et ils pourraient travailler. Cependant, malgré de nombreuses recherches, je n'ai trouvé aucune référence à aucune autre valeur jamais utilisée ici. C'est effectivement une partie morte et embarrassante de http / 1. p>
Il semble que la chose normale à faire est: p>
Utilisez uniquement de pragma avec le drapeau sans cache. C'est la seule valeur que quiconque devrait jamais utiliser. (Et bien sûr, vous devez également utiliser l'en-tête de contrôle du cache pour votre mise en cache pour vous comporter comme prévu). p> li>
Si vous souhaitez mettre des informations spéciales dans une en-tête HTTP - c'est-à-dire si vous souhaitez "inclure des directives spécifiques à la mise en œuvre pouvant s'appliquer à n'importe quel destinataire le long de la chaîne de demande / réponse", puis créez une en-tête HTTP personnalisée . Google et Amazon, par exemple, faites ceci: http://docs.aws.amazon.com/amazons3/Latest/ dev / à utilisermetadata.html et https://cloud.google.com/storage/docs/reference-headers
Notez la convention de dénomination sur l'en-tête HTTP. Le préfixe "x-" est obsolète par http://tools.ietf.org/html/rfc6648 , mais tout le monde semble utiliser ce de toute façon. p> li> ul>