Réécriture d'URL : Apache vs PHP.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Réécriture d'URL : Apache vs PHP.

par naholyr » 18 mars 2008, 23:17

C'est trivial que mod_rewrite sera plus performant que de tout gérer avec un front controller.
Pour le routeur, regarde du côté de symfony, le système de routage est une merveille.

par Hywan » 18 mars 2008, 18:35

Bien ça me conforte dans mes positions tout ça.

@Sékil : même avis que toi.

@*zeus : &Sékil (oui, je sors de cours d'Algo).

@Nagol : oui Hoa_Controller_Front powa ;-). En fait, mon routeur n'est pas ultra développé par rapport à celui de ZF par exemple. Je travaille sur une réécriture qui pourrait résoudre beaucoup de problèmes et je la proposerais en alternative. Je préfère proposer des réécritures plutôt que de forcer les utilisateurs à utiliser un routeur PHP. Donc pour me conforter dans cette idée, je peux faire jouer la carte de la ressource ;-).
Je ne dis pas que le routeur de Hoa est pauvre. Il est largement suffisant, mais si y a des mecs tordus, il faut pouvoir parer à toutes éventualités :).

@Hubert Roksor : Tes remarques sont très justes, et je n'y avais pas penser. Pour le Bench, ça attendra, j'ai vraiment pas le temps :roll:.

par Hubert Roksor » 18 mars 2008, 17:06

La seule façon de répondre serait de faire un benchmark, en plus ça tombe bien on peut faire un benchmark synthétique pour ce genre de questions (pas la peine de simuler un truc réaliste).

Deux aspects qui n'ont pas été évoqués :
  • si une règle unique permet de se passer de .htaccess et mettre AllowOverride sur None, le gain de performance peut être important
  • si les règles de mod_rewrite permettent d'utiliser des fichiers statiques plutôt qu'un script, là encore les performances peuvent être meilleures
Fais un bench, et en cas d'égalité utilise le plus pratique ! (un indice : c'est celui qui ne fait pas planter toutes tes pages avec une erreur 500 quand tu te gourres :lol:)

par Nagol » 18 mars 2008, 15:42

même avis, avec quand même une préférence pour la méthodologie on renvoit tout sur un index.php (front controller powa?) :)

par zeus » 18 mars 2008, 15:05

Même avis que Sekiltoyai.

Je pense qu'un module développé en C, pour cette tache précise sera plus performant qu'un code PHP partant de 0.

par Sékiltoyai » 18 mars 2008, 14:05

J'aurais tendance à dire presque instantannément que apache serait un peu plus performant, j'ai tendance à pensé que le mod_rewrite est pas mal optimisé.
Après, ce qui est certain, c'est que les ressources nécessaires seront dans tous les cas ridicules…

Réécriture d'URL : Apache vs PHP.

par Hywan » 18 mars 2008, 12:56

Bonjour :).

Je me pose une question fondamentale. En effet, ça fait déjà plusieurs jours que je me pète la tronche sur une réécriture d'URL (Sékil en sait quelque chose), et je me pose alors une drôle de question : est-il plus rapide d'utiliser le mode de réécriture d'Apache (mod_rewrite et .htaccess par exemple), ou tout balancer derrière index.php et réécrire avec PHP ?

J'entends par « balancer derrière index.php » faire ceci :

Code : Tout sélectionner

RewriteEngine on RewriteCond %{SCRIPT-FILENAME} !-f RewriteCond %{SCRIPT-FILENAME} !-d RewriteRule ^(.*)$ index.php/$1
ou un truc du genre, semblable.

Je me pose des questions de performances car l'énergie déployée pour écrire une règle ... polymorphe (le terme n'est pas bon) est considérable. Alors que si on utilisait PHP avec un bon routeur (que je m'empresserais de programmer) on pourrait arriver à une utilisation plus simple. Mais comme le mod_rewrite est écrit en C, et que le routeur perso serait en PHP (sûrement avec expressions régulières, donc Perl etc.), quel serait le plus rapide ? Le moins lourd (en mémoire ) ? Etc. ?