8791 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

@CNeo : Si, bien sûr... Mais les fonctions de vérification de syntaxe sont appliquées en AMONT, principalement pour éviter les adresses du genre "toto".
Et c'est aussi pourquoi la méthode "simple" proposée ci-dessus peut suffire à cela, le seul pbm étant avec des utilisateurs qui ont des adresses "zarbi" qui se verront refuser leur adresse pourtant valide : dans ce cas, il faut au moins prévoir un lien "Contact" qui permettra de signaler le pbm au webmaster.
@Mpok D'accord mais dans le cas où tu envoies le mail tu te fous de faire une vérification avant car PHP le fait pour toi ...
Modifié par CNeo (23 Aug 2007 - 15:15)
Ben non, PHP le fait pas pour toi...
Lui, il envoie le mail et basta..
Si l'adresse est incorrecte, le mail n'arrivera pas (forcément..), mais n'empêche que le serveur de mail aura travaillé pour rien (en particulier dans le cas "toto" tout court..).
Comme en plus, certains hébergeurs limitent fortement la fonction mail (et la surveille) pour éviter les spams massifs, et que ce mail "inutile" compte autant qu'un mail valide pour l'hébergeur, il me semble qu'une petite fonction de vérification, au moins basique, s'impose.
Oui mais la vérification est faite quand même or le premier principe de l'optimisation c'est de ne pas répéter deux fois la même opération ... Tu essayes d'envoyer le mail et si ça retourne "false" alors soit le mail est incorrect soit le serveur de mail est planté ...
Il est probable voir certain que la verification dans le cadre de la fonction soit faite par le serveur smtp.
Ce qui implique de le contacter, le traitement de la demande, recevoire la réponse et l'analyser. Tout ceci avec les latences du réseau.

Alors que l'analyse via une fonction comme preg_match ne sort pas de php.

Dans ce cas on peut dire que d'un point de vue optimisation de la quantité de code il vaut mieux laisser faire la fonction en effet (quoique l'erreur diagnostiquée sera moins précise).
Par contre d'un point de vue optimisation de la rapidité du code l'analyse préalable est probablement mille fois plus rapide.
Necromantik a écrit :
Par contre d'un point de vue optimisation de la rapidité du code l'analyse préalable est probablement mille fois plus rapide.
Je n'irais pas jusqu'à mille fois quand même ... De plus ce que tu dis est vrai dans le cas de l'erreur mais quand l'adresse est bonne alors l'envoie direct est plus rapide donc c'est une question de statistique.
CNeo a écrit :
Je n'irais pas jusqu'à mille fois quand même ... De plus ce que tu dis est vrai dans le cas de l'erreur mais quand l'adresse est bonne alors l'envoie direct est plus rapide donc c'est une question de statistique.


Admettons que le serveur smtp se trouve en LAN donc réponse rapide (4ms). Considérons ensuite le temps d'analyse de l'adresse comme étant de 0.01ms.

Dans le cas de la fonction on a 8.01ms d'execution à chaque fois pour la ligne concernée.
Dans le cas de l'analyse soit 0.01ms (invalide) soit 8.02ms (valide). Je persiste à penser que l'analyse préalable en vaut le coup (et je ne parle pas d'un serveur externe à 100ms)


Après il est vrai que c'est du chippotage à moins de tourner sur un ensemble de 100 serveur desservants 100'000 requêtes/s il est probable qu'il faille un siècle pour que ça commence à donner une différence intéressante Smiley murf .
Pages :