Plusieurs fois, je vois que les extensions d'URL sont cachées (par exemple .html
, .php
), mais tous les sites Web ne le font pas.
Pourquoi les webmasters cachent-ils l'extension? Est-ce pour des raisons de sécurité, pour que l'URL soit plus propre ou à d'autres fins?
url
url-rewriting
filenames
clean-urls
Inconnue
la source
la source
Réponses:
Il existe plusieurs raisons de supprimer des extensions des URL:
Gardez à l' esprit que de nombreux sites sont générés par un système de gestion de contenu (CMS) qui compliqueraient les URL ressemblent à ceci:
/index.php?page=this-is-the-widget-page
. C'est particulièrement moche et a bien plus de malice qu'une simple extension. Réécrire pour le supprimer leindex.php?page=
rend beaucoup mieux.Les extensions ne sont pas nécessaires sur le Web car les serveurs envoient le type de document en tant qu'en-tête. Les pages Web sont servies comme
text/html
, les images commeimage/png
ouimage/jpeg
. Cela permet aux navigateurs de savoir comment restituer le contenu sans utiliser une extension pour comprendre que l'URL contient du texte, HTML, PDF ou image (pour plus d'informations, voir l'article Wikipédia sur le type de média Internet ).Certains webmasters choisissent d'utiliser une extension sur leurs URL qui correspond à ce type de contenu. Donc, tout
text/html
document aurait une.html
extension et toutimage/png
document aurait une.png
extension. Cela peut être utile lorsque les URL sont enregistrées dans le système de fichiers où les métadonnées sur leur type de contenu sont perdues. Dans la plupart des systèmes de fichiers, le programme qui ouvre le fichier est choisi par l'extension. Ainsi, même si une page est servie par PHP, certains webmasters suppriment l'.php
extension, et certains la remplacent par.html
.Il y a aussi la question de savoir si les URL pourraient mieux se terminer par une barre oblique de fin (
/
) quand elles n'ont pas d'extension, ce qui a beaucoup de discussions sur Stack Overflow.la source
Tous les serveurs Web ont un ou plusieurs "fichiers par défaut". C'est le fichier qui sera affiché chaque fois qu'un visiteur accède à une URL qui se termine par une barre oblique
/
, c'est-à-dire un dossier.Si le nom de fichier par défaut sur votre serveur Web est
index.php
et qu'un visiteur y accèdewww.example.com/pagename/
, il y accède en réalitéwww.example.com/pagename/index.php
.S'il n'y a pas de fin
/
, le serveur Web est probablement en train de réécrire l'URL pour la supprimer, car ce n'est pas nécessaire. Ce site, en fait, fait cela.la source
C'est le type de schéma d'URI «cool» que je vise sur mon propre site Web personnel.
Personnellement, la raison pour laquelle j'ai commencé à le faire (et probablement beaucoup plus de concepteurs / développeurs Web aussi!) Était après avoir lu l'article «Les URI cool ne changent pas» - ce document a été écrit par le père fondateur du World Wide Web, Tim Berners -Lee.
Dans le célèbre article de Tim Berners-Lee, il énonce essentiellement les mêmes raisons que Stephen Ostermiller a dans son excellente réponse à cette question .
Pour donner une réponse plus spécifique à votre question principale, «Pourquoi les extensions sont-elles cachées dans les URL?» Eh bien, je dirais que les principales raisons pour moi sont:
1. Pour pérenniser l'URI:
Par exemple, il aurait pu sembler une bonne idée à l'époque d'utiliser un URI comme:
http://www.example.com/page.pl
où.pl
être l'exetension du fichier pour un script Perl. Cependant, ces jours-ci, la plupart des développeurs Web utilisent ASP.NET ou PHP pour les scripts de backend, donc la veille , aujourd'hui ,http://www.example.com/page.php
semble être une meilleure idée, éventuellement PHP et ASP / ASP.net deviendront à l'ancienne. Donc, une meilleure idée est de supprimer complètement l'extension.2. Lisibilité et mémorisation:
Il est beaucoup plus facile de transmettre un URI «cool» aux gens verbalement, sur papier (par exemple des publicités, des cartes de visite, etc.), pour ne pas mentionner plus facile à retenir.
3. «Hackability» *
Bien que je dirais que la grande majorité des utilisateurs de nos jours passent probablement par un moteur de recherche pour tout - j'ai même vu des gens qui allaient dans la barre d'adresse et tapaient
www.google.com
, puis utilisaient Google pour taper littéralementwww.ebay.com
! Mais, je pense que si j'ai un site Web basé sur le multimédia, l'URIhttp://www.example.com/video
laisse entendre que la section musique peut être trouvée sous l'URIhttp://www.example.com/audio
, et ainsi de suite. (J'utilise toujours la barre d'adresse pour aller sur des sites Web - je suis assez "old-school" à propos de ce genre de chose!)* (Oh! « Hackabilité » - signifie ce mot existe encore ?! Eh bien, il ne maintenant !) :-)
4. ** Esthétique: pour les rendre plus jolis! (Blâmez mon TOC!)
Cependant, j'ai remarqué en parcourant divers sites Web liés au référencement, que de nombreux webmasters ajoutent en fait une extension de fichier aux URI dynamiques, par exemple:
L'URI réel peut être:
http://www.example.com/article
Cependant, le webmaster effectuera une réécriture pour donner à l'URI un aspect statique, tel que:
http://www.example.com/article.html
La logique derrière cela est que, fondamentalement, un moteur de recherche attribuera un rang plus élevé aux pages statiques (qui sont, apparemment, moins susceptibles de changer). (Bien que je ne sois pas exactement un expert en SEO, personnellement, je ne souscris pas à cette idée moi-même - je pense qu'avec le genre d'esprit derrière Google et les algorithmes de Bing, il faudra un peu plus qu'une fausse extension de fichier pour vous frayez un chemin en pole position SERP!)
Pour plus d'informations sur l'attribution d'un nom aux URI, je vous recommande de lire ces articles:
Tim Berners-Lee:
Conseils Q3 W3C:
Brian Kelly (UK Web Focus / UKOLN - Université de Bath):
J'espère que cela t'aides!
la source
Je suis entièrement d'accord avec toutes les réponses ci-dessus. Il suffit d'ajouter que l'une des raisons pour lesquelles les extensions sont masquées dans l'URL est la sécurité. En termes simples, si vous n'exposez pas l'extension dans l'URL, il est peu difficile de comprendre la technologie sur laquelle l'application a été construite. Disons donc qu'une page est faite en PHP et que l'extension n'est pas cachée, alors un pirate pourrait potentiellement comprendre les vulnérabilités de PHP et l'utiliser pour exécuter une activité malveillante.
la source
Vous masquez ou non vos extensions de page, les gens peuvent toujours savoir quelle technologie vous avez utilisée. En utilisant cURL, il n'est pas impossible d'obtenir votre technologie en récupérant les informations d'en-tête.
Ensuite, vous verriez quelque chose comme votre technologie, demande de cache, connexion et plus encore.
la source
Tout à fait d'accord, comme l'explique "Stephen Ostermiller", mais je voudrais mentionner l'astuce derrière cela pour masquer l'extension des URL. Et pour cela, vous devez utiliser .htaccess règle de réécriture , voici le script qui vous aide:
Rediriger les
.php
demandes externes vers une URL sans extensionla source