Molte volte vedo che le estensioni URL sono nascoste (ad esempio .html
, .php
), ma non tutti i siti Web lo fanno.
Perché i webmaster nascondono l'estensione? È per sicurezza, per l'URL un aspetto più pulito o per qualche altro scopo?
Molte volte vedo che le estensioni URL sono nascoste (ad esempio .html
, .php
), ma non tutti i siti Web lo fanno.
Perché i webmaster nascondono l'estensione? È per sicurezza, per l'URL un aspetto più pulito o per qualche altro scopo?
Risposte:
Esistono diversi motivi per rimuovere le estensioni dagli URL:
Tenete a mente che molti siti sono generati da un sistema di gestione dei contenuti (CMS) che renderebbe URL simile a questa: /index.php?page=this-is-the-widget-page
. Ciò è particolarmente brutto e ha molto più cruft di una semplice estensione. Riscrivere per rimuovere index.php?page=
rende molto meglio.
Le estensioni non sono necessarie sul Web perché i server inviano il tipo di documento come intestazione. Le pagine Web vengono visualizzate come text/html
, le immagini come image/png
o image/jpeg
. Ciò consente ai browser di sapere come eseguire il rendering del contenuto senza utilizzare un'estensione per capire che l'URL contiene testo, HTML, PDF o immagine (per ulteriori informazioni consultare l'articolo di Wikipedia Tipo di media Internet ).
Alcuni webmaster scelgono di utilizzare un'estensione nei loro URL che corrisponde a questo tipo di contenuto. Quindi qualsiasi text/html
documento avrebbe .html
un'estensione e qualsiasi image/png
documento avrebbe .png
un'estensione. Ciò può essere utile quando gli URL vengono salvati nel file system in cui vengono persi i metadati sul loro tipo di contenuto. Nella maggior parte dei file system, il programma che apre il file viene scelto dall'estensione. Quindi, anche se una pagina è servita da PHP, alcuni webmaster rimuovono l' .php
estensione e alcuni la sostituiscono con .html
.
C'è anche la domanda se gli URL potrebbero finire meglio con la barra finale ( /
) quando non hanno estensione che ha molte discussioni su StackTranslate.it.
Tutti i server Web hanno uno o più "file predefiniti". È il file che verrà visualizzato ogni volta che un visitatore passa a un URL che termina con una barra /
, ovvero una cartella.
Se il nome file predefinito sul server Web è index.php
e un visitatore accede www.example.com/pagename/
, accede effettivamentewww.example.com/pagename/index.php
.
Se non ci sono tracce /
, il web server probabilmente sta semplicemente riscrivendo l'URL per rimuoverlo, poiché non è necessario. Questo sito, infatti, lo fa.
Questo è il tipo di schema "cool" URI che miro sul mio sito web personale.
Personalmente, il motivo per cui ho iniziato a farlo (e probabilmente anche molti altri web designer / sviluppatori!) È stato dopo aver letto l'articolo "Gli URI fantastici non cambiano" - questo documento è stato scritto dal padre fondatore del World Wide Web, Tim Berners -Lee.
Nel famoso articolo di Tim Berners-Lee, in sostanza afferma le stesse ragioni che Stephen Ostermiller ha nella sua eccellente risposta a questa domanda .
Per dare una risposta più specifica alla tua domanda principale, "Perché le estensioni sono nascoste negli URL?" Bene, direi che i motivi principali per me sono:
1. Per l'URI a prova di futuro:
Ad esempio, al momento potrebbe sembrare una buona idea usare un URI come:
http://www.example.com/page.pl
dove l' .pl
essere è il file exetension per uno script Perl. Tuttavia, oggi, la maggior parte degli sviluppatori Web utilizza ASP.NET o PHP per il back-scripting, quindi, anche se oggi ,
http://www.example.com/page.php
sembra un'idea migliore, alla fine PHP e ASP / ASP.net diventeranno vecchio stile. Quindi un'idea migliore è semplicemente rimuovere l'estensione del tutto.
2. Leggibilità e memorabilità:
È molto più facile che un URI "interessante" venga trasmesso verbalmente, su carta (ad es. Pubblicità, biglietti da visita, ecc.), Per non parlare di più facile da ricordare.
3. "Hackability" *
Anche se direi che la stragrande maggioranza degli utenti in questi giorni probabilmente passa attraverso un motore di ricerca per tutto - ho anche visto persone che andavano alla barra degli indirizzi e digitavano www.google.com
, e quindi utilizzavano Google per digitare letteralmente www.ebay.com
! Tuttavia, penso che se ho un sito Web basato su contenuti multimediali, l'URI http://www.example.com/video
suggerisce che la sezione musicale può essere trovata sotto l'URI http://www.example.com/audio
e così via. (Uso ancora la barra degli indirizzi per visitare i siti Web - sono abbastanza "vecchia scuola" per quel genere di cose!)
* (Oh “hackability” - fa quella parola anche non esistere ?! Beh, non ora !) :-)
4. ** Estetica: per renderli più belli! (Colpa del mio disturbo ossessivo compulsivo!)
Tuttavia, ho notato leggendo vari siti Web correlati alla SEO, che molti webmaster in realtà aggiungono estensioni di file a URI dinamici, ad esempio:
L'URI effettivo può essere:
http://www.example.com/article
Tuttavia, il webmaster eseguirà una riscrittura per rendere “URI” statico l'URI, come ad esempio:
http://www.example.com/article.html
La logica alla base di ciò è che, in sostanza, un motore di ricerca assegnerà un posizionamento più elevato alle pagine statiche (che, a quanto pare, hanno meno probabilità di cambiare). (Anche se non sono esattamente un esperto di SEO, personalmente non mi occupo di questa idea da solo - sto immaginando che con il tipo di menti dietro gli algoritmi di Google e Bing, ci vorrà poco più di un'estensione di file falsi per vieni nella tua pole position SERP!)
Per ulteriori informazioni sulla denominazione degli URI, ti consiglio di leggere questi articoli:
Tim Berners-Lee:
Suggerimenti per il QA del W3C:
Brian Kelly (UK Web Focus / UKOLN - University of Bath):
Spero che sia di aiuto!
Sono completamente d'accordo con tutte le risposte sopra riportate. Basta aggiungere che uno dei motivi per cui le estensioni sono nascoste nell'URL è la sicurezza. In parole povere, se non si espone l'estensione nell'URL, è poco difficile capire la tecnologia su cui è stata creata l'applicazione. Quindi diciamo che una pagina è stata creata in PHP e l'estensione non è nascosta, quindi un hacker potrebbe potenzialmente individuare le vulnerabilità di PHP e utilizzarlo per eseguire alcune attività dannose.
Nascondi le estensioni della tua pagina o meno, le persone possono ancora sapere quale tecnologia hai utilizzato. Usando cURL, non è impossibile ottenere la tua tecnologia recuperando le informazioni di intestazione.
curl -I -L rembatvideo.ga
Quindi, vedresti qualcosa come la tua tecnologia, richiesta di cache, connessione e altro.
Totalmente d'accordo come spiegato da "Stephen Ostermiller", ma vorrei menzionare il trucco che sta dietro per nascondere l'estensione degli URL. E per questo devi usare la regola di riscrittura .htaccess , ecco lo script che ti aiuta:
Reindirizzare le .php
richieste esterne all'URL senza estensione
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]