Gestion cache internet pour pdf
Franck
-
sebsauvage Messages postés 33415 Statut Modérateur -
sebsauvage Messages postés 33415 Statut Modérateur -
Bonjour,
Je souhaiterais savoir s'il est possible de pouvoir télécharger des pdf sans que ce dernier soit enregistré dans le cache du browser ?
Je dois en effet permettre aux utilisateurs d'afficher des pdf dans une page Web mais ces documents (pdf) ne doivent pas être dans le cache du browser.
Je ne sais pas si de simples méta tag permettent de gérer les pdf en cache ou pas ...
D'avance, merci beaucoup pour votre aide.
Cordialement
Franck
Je souhaiterais savoir s'il est possible de pouvoir télécharger des pdf sans que ce dernier soit enregistré dans le cache du browser ?
Je dois en effet permettre aux utilisateurs d'afficher des pdf dans une page Web mais ces documents (pdf) ne doivent pas être dans le cache du browser.
Je ne sais pas si de simples méta tag permettent de gérer les pdf en cache ou pas ...
D'avance, merci beaucoup pour votre aide.
Cordialement
Franck
A voir également:
- Gestion cache internet pour pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Copie caché - Guide
- Numéro caché - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Jeux google caché - Guide
5 réponses
Il suffit en principe de le spécifier dans les entêtes de réponse HTTP, mais il faut savoir que les navigateurs n'ont aucune obligation de les respecter.
(on met une date d'expiration du document dans le passé)
Expires: Mon, 04 Dec 1999 21:29:02 GMT
(on ajoute une directive):
Pragma: no-cache
CacheControl: no-cache
(on met une date d'expiration du document dans le passé)
Expires: Mon, 04 Dec 1999 21:29:02 GMT
(on ajoute une directive):
Pragma: no-cache
CacheControl: no-cache
Ah bon, je croyais avoir lu récement (je sais plus ou, ptet ici) qu'on pouvait forcer le navigateur à ne pas charger en caches les documents.
Tu ne peux pas forcer un navigateur à faire ce que tu veux.
Manquerait plus qu'un webmaster me dicte la manière dont je peux recevoir ou voir les pages web, tiens !
Quand tu envoie des choses au navigateur, et tout ce que tu peux faire, c'est espérer qu'il les respecte.
(C'est très facile avec des programmes comme Proxomitron ou GreaseMonkey de forcer les documents à être placés dans le cache.)
Tu ne peux pas forcer un navigateur à faire ce que tu veux.
Manquerait plus qu'un webmaster me dicte la manière dont je peux recevoir ou voir les pages web, tiens !
Quand tu envoie des choses au navigateur, et tout ce que tu peux faire, c'est espérer qu'il les respecte.
(C'est très facile avec des programmes comme Proxomitron ou GreaseMonkey de forcer les documents à être placés dans le cache.)
Merci beaucoup pour votre réponse.
Cependant, je n'ai pas été assez complet dans ma demande, c'est un peu plus compliqué...ma page est généré en java ... pour répondre à des normes de sécurités, lorsque l'utilisateur clique sur le lien pdf, le code fait appel à un service java qui retourne en réponse un tableau de byte (représentant le document pdf qui est interprété par le browser).
Il semblerait qu'en VB il est possible de gérer dynamiquement la gestion des objets pdf en cache. Reste à savoir si le java le permet également ...
Cependant, je n'ai pas été assez complet dans ma demande, c'est un peu plus compliqué...ma page est généré en java ... pour répondre à des normes de sécurités, lorsque l'utilisateur clique sur le lien pdf, le code fait appel à un service java qui retourne en réponse un tableau de byte (représentant le document pdf qui est interprété par le browser).
Il semblerait qu'en VB il est possible de gérer dynamiquement la gestion des objets pdf en cache. Reste à savoir si le java le permet également ...
pour répondre à des normes de sécurités, lorsque l'utilisateur clique sur le lien pdf, le code fait appel à un service java qui retourne en réponse un tableau de byte
La manière dont c'est généré côté serveur (dynamiquement ou sous forme d'un fichier statique, en Java ou en VB) n'a aucune influence: le navigateur reçoit le fichier et l'interprète comme un fichier PDF.
(qui pourra ou non être enregistré dans un cache.)
Vu du navigateur, c'est un flux de données comme un autre.
Il semblerait qu'en VB il est possible de gérer dynamiquement la gestion des objets pdf en cache.
ça n'est pas spécifique à VB, c'est spécifique au protocole HTTP.
(directive Pragma:no-cache, etc.)
Mais encore une fois, les navigateurs n'ont aucune obligation de respecter ces directives.
Certains administrateurs de proxy forcent même le cache sur certains sites (comme Microsoft) pour éviter de surcharger leur connexion internet.
La manière dont c'est généré côté serveur (dynamiquement ou sous forme d'un fichier statique, en Java ou en VB) n'a aucune influence: le navigateur reçoit le fichier et l'interprète comme un fichier PDF.
(qui pourra ou non être enregistré dans un cache.)
Vu du navigateur, c'est un flux de données comme un autre.
Il semblerait qu'en VB il est possible de gérer dynamiquement la gestion des objets pdf en cache.
ça n'est pas spécifique à VB, c'est spécifique au protocole HTTP.
(directive Pragma:no-cache, etc.)
Mais encore une fois, les navigateurs n'ont aucune obligation de respecter ces directives.
Certains administrateurs de proxy forcent même le cache sur certains sites (comme Microsoft) pour éviter de surcharger leur connexion internet.
l'affichage du pdf se fait via l'envoie d'un tableau de bytes par une servlet. La gestion du cache est donc à gérer dynamiquement lors de la response de la servlet.
Pour se faire il faut inclure le code suivant dans l'objet response
res.setHeader("Pragma", "no-cache"); //HTTP/1.0, for Proxy Servers
res.setHeader("Cache-Control", "no-cache"); //HTTP/1.1, for Proxy Servers
res.setDateHeader("Expires", 0); // for Browsers
Mais le problème reste entier. Si on n’utilise pas le cache du browser, on ne peut pas ouvrir le fichier PDF.
La seule option possible dans ce cas et de l’enregistrer sur le disque et de l’ouvrir ensuite.
Malheureusement, cette solution ne convient pas en terme de securité.
La question est donc est il possible d’ouvrir un pdf en interprétant dynamiquement les données du tableau de bytes sans qu'il soit en cache ou sur le disque dur.
Merci encore
Pour se faire il faut inclure le code suivant dans l'objet response
res.setHeader("Pragma", "no-cache"); //HTTP/1.0, for Proxy Servers
res.setHeader("Cache-Control", "no-cache"); //HTTP/1.1, for Proxy Servers
res.setDateHeader("Expires", 0); // for Browsers
Mais le problème reste entier. Si on n’utilise pas le cache du browser, on ne peut pas ouvrir le fichier PDF.
La seule option possible dans ce cas et de l’enregistrer sur le disque et de l’ouvrir ensuite.
Malheureusement, cette solution ne convient pas en terme de securité.
La question est donc est il possible d’ouvrir un pdf en interprétant dynamiquement les données du tableau de bytes sans qu'il soit en cache ou sur le disque dur.
Merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La question est donc est il possible d’ouvrir un pdf en interprétant dynamiquement les données du tableau de bytes sans qu'il soit en cache ou sur le disque dur.
A priori non puisque, à ma connaissance, dans la majorité des cas le navigateur commence par enregistrer le fichier sur disque avant de lancer Acrobat Reader pour ouvrir le fichier.
La solution pourrait être d'utiliser une applet Java (mais un format différent du PDF, du coup).
ça rendra plus difficile le repiquage des données (mais pas impossible).
A priori non puisque, à ma connaissance, dans la majorité des cas le navigateur commence par enregistrer le fichier sur disque avant de lancer Acrobat Reader pour ouvrir le fichier.
La solution pourrait être d'utiliser une applet Java (mais un format différent du PDF, du coup).
ça rendra plus difficile le repiquage des données (mais pas impossible).
Ah bon, je croyais avoir lu récement (je sais plus ou, ptet ici) qu'on pouvait forcer le navigateur à ne pas charger en caches les documents.
<virenque>On m'aurait menti ?</virenque>
Zep3k!GnO