Oltre a motivi storici, c'è motivo di avere "www" in un URL?
Devo creare un reindirizzamento permanente da www.xyz.com
a xyz.com
o da xyz.com
a www.xyz.com
? Quale consiglieresti e perché?
Oltre a motivi storici, c'è motivo di avere "www" in un URL?
Devo creare un reindirizzamento permanente da www.xyz.com
a xyz.com
o da xyz.com
a www.xyz.com
? Quale consiglieresti e perché?
Risposte:
Uno dei motivi per cui hai bisogno www
o qualche altro sottodominio ha a che fare con una stranezza di DNS e il record CNAME.
Supponiamo che ai fini di questo esempio si stia eseguendo un sito di grandi dimensioni e si contenga l'hosting a una rete CDN (Content Distribution Network) come Akamai. Quello che fai di solito è impostare il record DNS per il tuo sito come CNAME su un akamai.com
indirizzo. Ciò offre alla CDN la possibilità di fornire un indirizzo IP vicino al browser (in termini geografici o di rete). Se hai utilizzato un record A sul tuo sito, non saresti in grado di offrire questa flessibilità.
La stranezza del DNS è che se si dispone di un record CNAME per un nome host, non è possibile avere altri record per quello stesso host. Tuttavia, il dominio di primo livello example.com
deve in genere avere un record NS e SOA. Pertanto, non è possibile aggiungere anche un record CNAME per example.com
.
L'uso di www.example.com
ti dà l'opportunità di usare un CNAME per www
quel punto sulla tua CDN, lasciando i record NS e SOA richiesti example.com
. Il example.com
record di solito avrà anche un record A che punta a un host che reindirizzerà www.example.com
all'utilizzo di un reindirizzamento HTTP.
ALIAS
(o il ANAME
record) in questo tipo di argomento? Non ottiene gli stessi risultati del CNAME su nakeddomain (tranne per il problema dei cookie ...)?
Nota: a partire dalla ratifica e dall'implementazione (da parte di tutti i browser attuali, tranne eventualmente MSIE 11 , vedere i commenti) di RFC 6265 nel 2011, quanto segue non è più accurato, poiché i cookie per impostazione predefinita non sono mai impostati su sottodomini.
Storicamente , un buon motivo tecnico per rendere www.example.com
canonico era che i cookie di un dominio principale (cioè example.com
) venivano inviati a tutti i sottodomini.
Quindi, se il tuo sito utilizzava i cookie, sarebbero inviati a tutti i suoi sottodomini.
Ora, questo ha spesso senso, ma è positivamente dannoso se si desidera scaricare solo risorse statiche poiché spreca solo larghezza di banda. Prendi in considerazione tutti i fogli di stile e le immagini sul tuo sito Web: di solito, non c'è motivo di inviare cookie al server quando si richiede una risorsa di immagine.
Una buona soluzione è quindi quella di utilizzare un sottodominio per risorse statiche, ad esempio static.example.com
, per risparmiare larghezza di banda evitando l'invio di cookie. Tutte le immagini e altri download statici possono essere scaricati da lì. Se ora utilizzi www.example.com
per il contenuto dinamico, ciò significa che i cookie devono essere inviati solo a www.example.com
, non a static.example.com
.
Se, tuttavia, example.com
è il tuo sito principale, i cookie verranno inviati a tutti i sottodomini, incluso static.example.com
.
Ora questo non è rilevante per la maggior parte dei siti, ma cambiare l'URL canonico in seguito non è una buona idea, quindi una volta che ti sei accontentato example.com
invece di www.*
, sei praticamente bloccato con esso.
Un'alternativa è utilizzare un URL completamente diverso per le risorse statiche. Stack Overflow ad esempio utilizza sstatic.net
, utilizza YouTube ytimg.com
ecc ...
www.x
come l'URL canonico, quindi personalmente probabilmente userei un URL diverso per le risorse statiche se dovessi progettare un grande sito.
domain=example.com
si imposta il cookie sul dominio apex e sui sottodomini , e un modo per evitarlo è di non utilizzare il dominio apex per HTTP. Tuttavia, concordato, un altro modo sarebbe semplicemente non specificare domain
quando si imposta il cookie. Mi chiedo se questo sia cambiato da quando ho scritto la mia risposta (che precede il pertinente RFC 6265 !), Ma non posso preoccuparmi di cercarlo ora.
www
è un sottodominio solitamente utilizzato per il server Web su un dominio insieme ad altri per altri scopi come mail
ecc. Oggi il paradigma del sottodominio non è necessario; se ti connetti a un sito Web in un browser, otterrai il sito Web o l'invio di posta al server utilizzerà il suo servizio di posta.
L'uso www
o meno è una questione di preferenza personale. Punti di vista opposti si possono trovare su http://no-www.org/ e http://www.yes-www.org/ - tuttavia, ritengo che ciò www
non sia necessario e aggiunge semplicemente più cruft all'URI.
La maggior parte dei server invia lo stesso sito in entrambi i modi, ma non reindirizza. Ai fini SEO, scegline uno, quindi chiedi all'altro di reindirizzarlo. Ad esempio, alcuni codici PHP per fare ciò:
if (preg_match('/www/', $_SERVER['SERVER_NAME'])) {
header("Location: http://azabani.com{$_SERVER['REQUEST_URI']}");
exit;
}
Tuttavia, alcuni motivi che promuovono l'uso di un www
sottodominio creato da altri risponditori sono altrettanto importanti, come non inviare cookie a server statici (credito Konrad Rudolph ).
È piuttosto storico. Una volta avevamo www.example.com, ftp.example.com, images.example.com, uk.example.com ecc. Che sembravano una cosa logica da fare e fornivano un metodo semplice per distribuire il carico tra server.
In questi giorni vorrei andare ad esempio.com per il sito principale e reindirizzare la versione www a quello.
Gli strumenti per i Webmaster di Google ti consentono di specificare il tuo dominio preferito , quindi assicurati di utilizzare anche quelli.
Vedi anche:
https://stackoverflow.com/questions/1109356/www-or-not-www-what-to-choose-as-primary-site-name
https://stackoverflow.com/questions/1884157/to- www-o-non-a-www
Se hai dei sottodomini per altri scopi (blog per esempio), potresti voler differenziare i siti e avere un www
prefisso per il sito normale. Oltre a ciò, l'unica cosa importante è scegliere uno dei due e attenersi ad esso (per motivi SEO).
www.example.com
da example.com
o viceversa senza qualcosa come JSONP.
Farei il primo. La www
convenzione viene dai primi giorni di HTTP, dove www.cmu.edu e cmu.edu erano probabilmente macchine diverse.
Ecco un'altra prospettiva minore.
Non avendo www, c'è un piccolo svantaggio quando si tratta di media basati su testo, sia stampati che online, e che viene riconosciuto come un indirizzo web. Nella stampa, di solito è abbastanza ovvio che example.com è un indirizzo web e puoi aggiungere tocchi di stile per evidenziarlo. Ma semplice testo online? Non così semplice. È probabile che se invii un messaggio di testo semplice, sia esso email, tweet, post di Facebook, SMS o altro, riconoscerà un URL che inizia con http: // o www. ma non riconoscerà uno senza nessuno di questi. Quindi, per trasformare l'URL in un link cliccabile, devi inserire www. o http: // sul davanti, e dei due, www. è più corto, meno goffo da guardare e più facile da leggere.
http://example.com/
è pienamente qualificato, mentre www.example.com
non lo è. Preferisco l'approccio completo perché è sempre riconoscibile come URL indipendentemente dal fatto che https://example.uk/
sia https://blog.example.eu/
o meno. È coerente con la specifica del protocollo di un sito sicuro come HTTPS; www.example.com
è solo un dominio e non dice nulla su quale protocollo si dovrebbe usare per accedervi.