|
Posté le: Vendredi 28 Octobre 2011 11:24:09
Aucun numéro de ligne indiqué dans le profil
| |
|
|
LirioLuse (Auteur du topic)
Nouveau
Hors-ligne
Inscrit le : 07 Nov 2010 Messages : 5
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
Bonjour
Je me doute que ce n'est pas vraiment le bon endroit pour poser un question assez technique ...
Bref.
Classiquement, j'ai construit un petit site web avec un peu de PHP.
J'ai fichier .css, que je réduits au maximum (une bonne pratique) et force la mise en cache (encore une autre bonne pratique).
Ceci étant, lorsque je regarde un peu les entêtes renvoyé par le fichier, j’obtiens quelques incohérences
Code: |
Fichier : http://maths.schwan.Free.fr/minify/css/common.css
HTTP/1.1 200 OK
Date: Fri, 28 Oct 2011 09:14:07 GMT
Server: Apache/ProXad [Aug 5 2010 16:17:11]
X-Powered-By:
connexion: close
Content-Type: text/html |
Évidemment, j'ai bien ajouté un bout de code pour modifier le Content-Type, mais rien à faire.
Idem pour Server.
Quand aux cache-control et expires, il n'en reste rien.
Il y a de quoi devenir fou !
Quelqu'un aurait-il une solution ?
Pitié ? |
|
|
|
|
Posté le: Lundi 31 Octobre 2011 14:51:13
Aucun numéro de ligne indiqué dans le profil
| |
|
|
masterboot
Régulier
Hors-ligne
Inscrit le : 18 Déc 2006 Messages : 870
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
tous simplement impossible chez Free (sauf changement recents)
tu ne peux pas executer un fichier css avec php donc tu ne peux pas intervenir avec header()
tu ne peux pas intervenir dans le htaccess (très limité par Free)
Citation: | Quelqu'un aurait-il une solution ? |
Changer de fournisseur |
|
|
|
|
Posté le: Mardi 1 Novembre 2011 10:46:25
Aucun numéro de ligne indiqué dans le profil
| |
|
|
LirioLuse (Auteur du topic)
Nouveau
Hors-ligne
Inscrit le : 07 Nov 2010 Messages : 5
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
Si si, c'est possible.
On utilise pour cela $_SERVER['PATH_INFO'].
Par exemple, pour mon site, j'ai un fichier minify.php à la racine.
Ainsi, lorsque j'appelle /minify/common.css, c'est bien le script minify.php qui est lancé, avec $_SERVER['PATH_INFO'] = 'common.css'
Ceci étant, j'ai l'impression que les headers sont modifiés après le traitement du script php
Merci tout de même pour la réponse |
|
|
|
|
Posté le: Mardi 1 Novembre 2011 17:35:28
Aucun numéro de ligne indiqué dans le profil
| |
|
|
masterboot
Régulier
Hors-ligne
Inscrit le : 18 Déc 2006 Messages : 870
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
a oui ! pas "standard" ce truc ... mais util et bon a savoir (quoique j'ai plus rien chez Free)
Voici je que j'obtiens chez moi :
Page Speed -> 95/100
Citation: | HTTP/1.1 200 OK
Date: Tue, 01 Nov 2011 16:21:48 GMT
Server: Apache/ProXad [Aug 5 2010 16:17:11]
Cache-Control: must-revalidate, max-age=604800
Content-Encoding: gzip
Expires: Tue, 08 Nov 2011 16:21:48 +0000
Vary: Accept-Encoding
X-Powered-By: -
connexion: close
Content-Type: text/css;charset=UTF-8
|
a priori la date de péremption du fichier est bonne bien que proche (8 nov) mais ce qui me choque pour une éventuelle mise ne cache c'est "Cache-Control: must-revalidate" .
Chez moi sur un fichier CSS j'ai ce type de réponse :
Page Speed 99/10 (le 1% manquant viens du fait que j'ai des sauts de lignes entre chaque classe, mais bon ...)
Citation: | Date Tue, 01 Nov 2011 16:08:14 GMT
Server Apache
Cache-Control max-age=290304000, public
Content-Encoding gzip
Expires Tue, 12 Jan 2021 16:08:14 GMT
Vary Accept-Encoding
X-Powered-By PHP/5.2.17
Last-Modified Tue, 01 Nov 2011 16:08:14 GMT
Content-Type text/css; |
Le code exécuté en amont a cette tête :
Code: | <?php
ob_start("ob_gzhandler");
$offset = 290304000;
$expire = gmdate ("D, d M Y H:i:s", time() + $offset) . " GMT";
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: max-age=$offset, public");
header("expires: ".$expire);
header('Content-Type: text/css;');
?> |
|
|
Dernière édition par masterboot le Mardi 1 Novembre 2011 17:36:22; édité 1 fois |
|
|
|
Posté le: Mardi 1 Novembre 2011 19:11:29
Aucun numéro de ligne indiqué dans le profil
| |
|
|
LirioLuse (Auteur du topic)
Nouveau
Hors-ligne
Inscrit le : 07 Nov 2010 Messages : 5
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
Merci pour la réponse !
masterboot a écrit: |
a priori la date de péremption du fichier est bonne bien que proche (8 nov) mais ce qui me choque pour une éventuelle mise ne cache c'est "Cache-Control: must-revalidate" .
|
En effet, c'est un peu contre-productif.
Mais le site est encore en développement sur certains points.
Donc je préfère limiter le cache pour le moment.
Sinon, j'ai fait aussi quelques tests en local.
Et, comme toi, j'obtiens les headers corrects
Le problème vient des outils de validation de code que l'on trouve sur le net. Un simple exemple :
http://www.webrankinfo.com/out.....common.css
On obtient le rapport suivant :
Code: |
HTTP/1.1 404 Not Found
Date: Tue, 01 Nov 2011 18:02:14 GMT
Server: Apache/ProXad [Aug 5 2010 16:17:11]
X-Powered-By: -
connexion: close
Content-Type: text/html
|
On constate que le script php a bien été lancé - en effet, "X-Powered-By: -" en est une conséquence.
Mais tout a été modifié : un status 404, un content-type text/html ... !!!
Bref, c'est une horreur ! |
|
|
|
|
Posté le: Mercredi 2 Novembre 2011 16:55:21
Aucun numéro de ligne indiqué dans le profil
| |
|
|
LirioLuse (Auteur du topic)
Nouveau
Hors-ligne
Inscrit le : 07 Nov 2010 Messages : 5
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
Pour clore le sujet, j'ai réalisé quelques tests avec WebPageTest ... et tout fonctionne parfaitement.
J'avoue ne pas forcément tout comprendre
Bref, puisque tout fonctionne bien, je marque ce sujet d'un très joli "Résolu".
Merci d'avoir pris la peine de lire ce sujet. |
|
|
|
|
Posté le: Lundi 14 Novembre 2011 18:33:58
Aucun numéro de ligne indiqué dans le profil
| |
|
|
masterboot
Régulier
Hors-ligne
Inscrit le : 18 Déc 2006 Messages : 870
Sexe :
Forfait : Accès libre
|
|
|
|
|
|
|
LirioLuse a écrit: | J'avoue ne pas forcément tout comprendre |
Pour l'histoire de la 404, je pense que c'est lié au fonctionnement Free comme tu passe par une bidouille pour servir ton contenu 'virtuel' tout dois passer par une gestion 404 genre redirection, et ceci même si tu force le header en aval.
Il est fort possible que celons les outils utilisés, tu ai accès a la redirection 404 ou au header final que tu impose. |
|
|
|
|
|
|