Gibt es außer aus historischen Gründen einen Grund, ein "www" in einer URL zu haben?
Soll ich eine permanente Weiterleitung von www.xyz.comnach xyz.comoder von xyz.comnach erstellen www.xyz.com? Welches würden Sie vorschlagen und warum?
Umgekehrt, worum geht es nicht. Für Cookie- und Subdomain-Zwecke in einer erfolgreichen Webpräsenz ist es hilfreich, mehrere Prozesse voneinander zu trennen.
Fiasco Labs
Diese Antwort , obwohl nicht direkt verwandt, scheint relevant zu sein.
Skippy le Grand Gourou
Antworten:
202
Einer der Gründe, warum Sie eine wwwandere Subdomain benötigen, hängt mit einer Eigenart von DNS und dem CNAME-Eintrag zusammen.
Angenommen, Sie betreiben für dieses Beispiel eine große Site und vergeben einen Host für ein CDN (Content Distribution Network) wie Akamai. In der Regel richten Sie den DNS-Eintrag für Ihre Site als CNAME für eine akamai.comAdresse ein. Dies gibt dem CDN die Möglichkeit, eine IP-Adresse anzugeben, die sich in der Nähe des Browsers befindet (geografisch oder im Netzwerk). Wenn Sie auf Ihrer Website einen A-Datensatz verwendet haben, können Sie diese Flexibilität nicht anbieten.
Die Besonderheit des DNS ist, dass Sie, wenn Sie einen CNAME-Eintrag für einen Hostnamen haben, keine anderen Einträge für denselben Host haben können. In der example.comRegel muss Ihre Top-Level-Domain jedoch über einen NS- und SOA-Eintrag verfügen. Daher können Sie auch keinen CNAME-Eintrag für hinzufügen example.com.
Die Verwendung von www.example.comgibt Ihnen die Möglichkeit, einen CNAME für wwwdiese Punkte zu Ihrem CDN zu verwenden, während die erforderlichen NS- und SOA-Datensätze gespeichert bleiben example.com. Der example.comDatensatz enthält normalerweise auch einen A-Datensatz, der auf einen Host verweist, der zur www.example.comVerwendung einer HTTP-Umleitung umgeleitet wird.
Sie können einen CNAME-Standardeintrag angeben, der auf das CDN verweist. Sie müssen nicht "www" verwenden. Auf diese Weise kann Ihr DNS-Server über SOA-, NS-, CNAME- usw. RRs für denselben Domainnamen verfügen.
Chris S
1
Wie kommt es, dass niemand die ALIAS(oder ANAMEAufzeichnungen) in dieser Art von Thema erwähnt? Erzielt es nicht die gleichen Ergebnisse wie der CNAME auf Nakeddomain (außer bei der Cookie-Ausgabe ...)?
Augustin Riedinger
3
@AugustinRiedinger: ANAME-Einträge sind kein Standard-DNS-RR-Typ. Sie sind Eigentum bestimmter Dienstleister.
Greg Hewgill
Aber führt dies zu Kompatibilitätsproblemen oder etwas anderem? Gibt es einen Grund, warum wir sie nicht verwenden sollten (abgesehen davon, dass sie nicht Standard, sondern proprietär sind)?
Augustin Riedinger
2
@AugustinRiedinger wird auf den meisten DNS- Servern nicht unterstützt . Wenn Ihr Provider jedoch über einen DNS-Server verfügt, der diese Funktionen unterstützt, sollte dies keine Probleme mit Clients verursachen.
Koen.
104
Hinweis: Ab der Ratifizierung und Implementierung (von allen aktuellen Browsern, außer möglicherweise MSIE 11 , siehe Kommentare) von RFC 6265 im Jahr 2011 ist das Folgende nicht mehr korrekt, da Cookies standardmäßig nie über Subdomains hinweg gesetzt werden.
Historisch gesehen bestand ein guter technischer Grund für www.example.comCanonical darin, dass Cookies einer Hauptdomäne (dh example.com) an alle Unterdomänen gesendet wurden.
Wenn Ihre Website Cookies verwendet, werden diese an alle Subdomains gesendet.
Das ist zwar oft sinnvoll, aber sehr schädlich, wenn Sie nur statische Ressourcen herunterladen möchten, da nur Bandbreite verschwendet wird. Berücksichtigen Sie alle Stylesheets und Bilder auf Ihrer Website: Normalerweise gibt es keinen Grund, Cookies an den Server zu senden, wenn Sie eine Bildressource anfordern.
Eine gute Lösung besteht daher darin, eine Unterdomäne für statische Ressourcen zu verwenden, z. B. static.example.comum Bandbreite zu sparen, indem keine Cookies gesendet werden. Alle Bilder und andere statische Downloads können von dort heruntergeladen werden. Wenn Sie jetzt www.example.comfür den dynamischen Inhalt verwenden, bedeutet dies, dass Cookies nur an gesendet werden müssen www.example.com, nicht an static.example.com.
Wenn es sich jedoch example.comum Ihre Hauptwebsite handelt, werden Cookies an alle Unterdomänen gesendet , einschließlich static.example.com.
Nun ist dies nicht relevant für die meisten Websites , aber später auf kanonische URL zu ändern , ist keine gute Idee , so , wenn Sie für abgewickelte example.comstatt www.*, sind Sie im Grunde mit ihm stecken.
Eine Alternative besteht darin, eine ganz andere URL für statische Ressourcen zu verwenden. Stack Overflow zum Beispiel verwendet sstatic.net, YouTube verwendet ytimg.comusw. ...
Übrigens mag ich es wirklich nicht www.xals kanonische URL, also würde ich persönlich wahrscheinlich eine andere URL für statische Ressourcen verwenden, wenn ich eine große Site entwerfen würde.
Konrad Rudolph
1
@RobinWinslow Wenn Sie jedoch Cookes aktivieren, domain=example.comwird das Cookie für die Apex-Domäne und für Unterdomänen festgelegt . Eine Möglichkeit, dies zu vermeiden, besteht darin, die Apex-Domäne nicht für HTTP zu verwenden. Ein anderer Weg wäre, wie vereinbart, einfach nicht anzugeben, domainwann der Cookie gesetzt wird. Ich frage mich, ob sich dies geändert hat, seit ich meine Antwort geschrieben habe (die älter ist als der relevante RFC 6265 !), Aber ich kann mich nicht darum kümmern, sie jetzt nachzuschlagen.
Konrad Rudolph
2
Es sieht so aus, als ob das von mir beschriebene Verhalten seit mindestens 2011, als RFC 6265 geschrieben wurde, der Fall war (eher als Zusammenfassung des aktuellen Browserverhaltens als als Aussage darüber, wie sie funktionieren sollten). Inzwischen können wir davon ausgehen, dass alle Browser dem folgen werden. Siehe stackoverflow.com/questions/1062963/… und bayou.io/draft/cookie.domain.html . Vor diesem Hintergrund glaube ich, dass Ihre Antwort seit mindestens sieben Jahren irreführend ist, obwohl sie zum Zeitpunkt des Schreibens in einigen Fällen zutreffend gewesen sein könnte . Könnten Sie es bitte aktualisieren, um diese Tatsache zu klären?
wwwist eine Subdomain, die normalerweise für den Webserver in einer Domain verwendet wird, zusammen mit anderen für andere Zwecke, wie z. B. mailusw. Heutzutage ist das Subdomain-Paradigma nicht mehr erforderlich. Wenn Sie über einen Browser eine Verbindung zu einer Website herstellen, wird die Website abgerufen, oder das Senden von E-Mails an den Server verwendet deren E-Mail-Dienst.
Die Nutzung wwwoder Nichtnutzung ist eine Frage der persönlichen Präferenz. Entgegengesetzte Standpunkte finden Sie unter http://no-www.org/ und http://www.yes-www.org/ - ich wwwhalte das jedoch für unnötig und füge der URI nur mehr Cruft hinzu.
Die meisten Server senden dieselbe Site in beide Richtungen, leiten sie jedoch nicht um. Wählen Sie für SEO-Zwecke eines aus und leiten Sie das andere weiter. Zum Beispiel ein PHP-Code, um dies zu tun:
if (preg_match('/www/', $_SERVER['SERVER_NAME'])) {
header("Location: http://azabani.com{$_SERVER['REQUEST_URI']}");
exit;
}
wwwEs gibt jedoch auch gute Gründe, die die Verwendung einer Subdomain fördern, die von anderen Antwortenden erstellt wurde, beispielsweise, dass keine Cookies an statische Server gesendet werden (Gutschrift von Konrad Rudolph ).
Es sieht so aus, als ob no-www.org zu einer zum Verkauf stehenden geparkten Seite zurückgekehrt ist, auf der yes-www.org immer noch stark ist. Ich denke, das regelt es. Jeder benutzt ab jetzt "www".
Nunya
9
Es ist ziemlich historisch. Früher hatten wir www.example.com, ftp.example.com, images.example.com, uk.example.com usw., was logisch zu sein schien und eine einfache Methode zur Verteilung der Last darstellte Server.
In diesen Tagen würde ich einfach auf example.com nach der Hauptseite suchen und die www-Version dahin umleiten.
Wenn Sie Subdomains für andere Zwecke (z. B. Blog) verwenden möchten, möchten Sie möglicherweise die Websites differenzieren und wwwder regulären Website ein Präfix hinzufügen. Abgesehen davon ist es nur wichtig, eine der beiden auszuwählen und dabei zu bleiben (aus SEO-Gründen).
Ich kann im Moment keine Referenz finden, aber es könnte auch Auswirkungen auf die gleiche Ursprungsrichtlinie haben.
Kobi
Ja das wird es leider. Sie können nicht auf AJAX www.example.comaus example.comoder umgekehrt , ohne so etwas wie JSONP.
Delan Azabani
7
Ich würde das erste machen. Die wwwKonvention stammt aus den Anfängen von HTTP, als es sich bei www.cmu.edu und cmu.edu höchstwahrscheinlich um unterschiedliche Maschinen handelte.
In den frühen Tagen sah man selten einen A-Eintrag für eine Domain - vielleicht hatte es einen MX-Eintrag, aber Sie hatten selten einen Host dort.
Joe H.
2
Hier ist eine andere kleine Perspektive.
Wenn Sie kein www haben, gibt es einen kleinen Nachteil, wenn es um textbasierte Medien geht, ob gedruckt oder online, und dies wird als Webadresse erkannt. Im Druck ist es normalerweise ziemlich offensichtlich, dass example.com eine Webadresse ist, und Sie können Stilelemente hinzufügen, um dies hervorzuheben. Aber Klartext online? Nicht so einfach. Wenn Sie eine einfache Textnachricht senden - ob E-Mail, Tweet, Facebook-Post, SMS oder was auch immer -, erkennt diese möglicherweise eine URL, die mit http: // oder www beginnt. wird aber keinen ohne diese erkennen. Um die URL zu einem anklickbaren Link zu machen, müssen Sie entweder www eingeben. oder http: // auf der Vorderseite und der beiden, www. ist kürzer, weniger klobig anzusehen und leichter zu lesen.
http://example.com/ist voll qualifiziert, während www.example.comnicht. Ich ziehe den vollständig qualifizierten Ansatz , weil es immer erkennbar als URL unabhängig davon , ob es https://example.uk/oder https://blog.example.eu/oder was auch immer. Dies entspricht der Angabe des Protokolls einer sicheren Site als HTTPS. www.example.comist nur eine Domain und sagt nichts darüber aus, welches Protokoll man verwenden soll, um darauf zuzugreifen.
Antworten:
Einer der Gründe, warum Sie eine
www
andere Subdomain benötigen, hängt mit einer Eigenart von DNS und dem CNAME-Eintrag zusammen.Angenommen, Sie betreiben für dieses Beispiel eine große Site und vergeben einen Host für ein CDN (Content Distribution Network) wie Akamai. In der Regel richten Sie den DNS-Eintrag für Ihre Site als CNAME für eine
akamai.com
Adresse ein. Dies gibt dem CDN die Möglichkeit, eine IP-Adresse anzugeben, die sich in der Nähe des Browsers befindet (geografisch oder im Netzwerk). Wenn Sie auf Ihrer Website einen A-Datensatz verwendet haben, können Sie diese Flexibilität nicht anbieten.Die Besonderheit des DNS ist, dass Sie, wenn Sie einen CNAME-Eintrag für einen Hostnamen haben, keine anderen Einträge für denselben Host haben können. In der
example.com
Regel muss Ihre Top-Level-Domain jedoch über einen NS- und SOA-Eintrag verfügen. Daher können Sie auch keinen CNAME-Eintrag für hinzufügenexample.com
.Die Verwendung von
www.example.com
gibt Ihnen die Möglichkeit, einen CNAME fürwww
diese Punkte zu Ihrem CDN zu verwenden, während die erforderlichen NS- und SOA-Datensätze gespeichert bleibenexample.com
. Derexample.com
Datensatz enthält normalerweise auch einen A-Datensatz, der auf einen Host verweist, der zurwww.example.com
Verwendung einer HTTP-Umleitung umgeleitet wird.quelle
ALIAS
(oderANAME
Aufzeichnungen) in dieser Art von Thema erwähnt? Erzielt es nicht die gleichen Ergebnisse wie der CNAME auf Nakeddomain (außer bei der Cookie-Ausgabe ...)?Hinweis: Ab der Ratifizierung und Implementierung (von allen aktuellen Browsern, außer möglicherweise MSIE 11 , siehe Kommentare) von RFC 6265 im Jahr 2011 ist das Folgende nicht mehr korrekt, da Cookies standardmäßig nie über Subdomains hinweg gesetzt werden.
Historisch gesehen bestand ein guter technischer Grund für
www.example.com
Canonical darin, dass Cookies einer Hauptdomäne (dhexample.com
) an alle Unterdomänen gesendet wurden.Wenn Ihre Website Cookies verwendet, werden diese an alle Subdomains gesendet.
Das ist zwar oft sinnvoll, aber sehr schädlich, wenn Sie nur statische Ressourcen herunterladen möchten, da nur Bandbreite verschwendet wird. Berücksichtigen Sie alle Stylesheets und Bilder auf Ihrer Website: Normalerweise gibt es keinen Grund, Cookies an den Server zu senden, wenn Sie eine Bildressource anfordern.
Eine gute Lösung besteht daher darin, eine Unterdomäne für statische Ressourcen zu verwenden, z. B.
static.example.com
um Bandbreite zu sparen, indem keine Cookies gesendet werden. Alle Bilder und andere statische Downloads können von dort heruntergeladen werden. Wenn Sie jetztwww.example.com
für den dynamischen Inhalt verwenden, bedeutet dies, dass Cookies nur an gesendet werden müssenwww.example.com
, nicht anstatic.example.com
.Wenn es sich jedoch
example.com
um Ihre Hauptwebsite handelt, werden Cookies an alle Unterdomänen gesendet , einschließlichstatic.example.com
.Nun ist dies nicht relevant für die meisten Websites , aber später auf kanonische URL zu ändern , ist keine gute Idee , so , wenn Sie für abgewickelte
example.com
stattwww.*
, sind Sie im Grunde mit ihm stecken.Eine Alternative besteht darin, eine ganz andere URL für statische Ressourcen zu verwenden. Stack Overflow zum Beispiel verwendet
sstatic.net
, YouTube verwendetytimg.com
usw. ...quelle
www.x
als kanonische URL, also würde ich persönlich wahrscheinlich eine andere URL für statische Ressourcen verwenden, wenn ich eine große Site entwerfen würde.domain=example.com
wird das Cookie für die Apex-Domäne und für Unterdomänen festgelegt . Eine Möglichkeit, dies zu vermeiden, besteht darin, die Apex-Domäne nicht für HTTP zu verwenden. Ein anderer Weg wäre, wie vereinbart, einfach nicht anzugeben,domain
wann der Cookie gesetzt wird. Ich frage mich, ob sich dies geändert hat, seit ich meine Antwort geschrieben habe (die älter ist als der relevante RFC 6265 !), Aber ich kann mich nicht darum kümmern, sie jetzt nachzuschlagen.www
ist eine Subdomain, die normalerweise für den Webserver in einer Domain verwendet wird, zusammen mit anderen für andere Zwecke, wie z. B.mail
usw. Heutzutage ist das Subdomain-Paradigma nicht mehr erforderlich. Wenn Sie über einen Browser eine Verbindung zu einer Website herstellen, wird die Website abgerufen, oder das Senden von E-Mails an den Server verwendet deren E-Mail-Dienst.Die Nutzung
www
oder Nichtnutzung ist eine Frage der persönlichen Präferenz. Entgegengesetzte Standpunkte finden Sie unter http://no-www.org/ und http://www.yes-www.org/ - ichwww
halte das jedoch für unnötig und füge der URI nur mehr Cruft hinzu.Die meisten Server senden dieselbe Site in beide Richtungen, leiten sie jedoch nicht um. Wählen Sie für SEO-Zwecke eines aus und leiten Sie das andere weiter. Zum Beispiel ein PHP-Code, um dies zu tun:
www
Es gibt jedoch auch gute Gründe, die die Verwendung einer Subdomain fördern, die von anderen Antwortenden erstellt wurde, beispielsweise, dass keine Cookies an statische Server gesendet werden (Gutschrift von Konrad Rudolph ).quelle
Es ist ziemlich historisch. Früher hatten wir www.example.com, ftp.example.com, images.example.com, uk.example.com usw., was logisch zu sein schien und eine einfache Methode zur Verteilung der Last darstellte Server.
In diesen Tagen würde ich einfach auf example.com nach der Hauptseite suchen und die www-Version dahin umleiten.
Mit den Google Webmaster-Tools können Sie Ihre bevorzugte Domain angeben. Stellen Sie daher sicher, dass Sie auch diese verwenden.
Siehe auch:
https://stackoverflow.com/questions/1109356/www-or-not-www-what-to-choose-as-primary-site-name
https://stackoverflow.com/questions/1884157/to- www-oder-nicht-zu-www
quelle
Wenn Sie Subdomains für andere Zwecke (z. B. Blog) verwenden möchten, möchten Sie möglicherweise die Websites differenzieren und
www
der regulären Website ein Präfix hinzufügen. Abgesehen davon ist es nur wichtig, eine der beiden auszuwählen und dabei zu bleiben (aus SEO-Gründen).quelle
www.example.com
ausexample.com
oder umgekehrt , ohne so etwas wie JSONP.Ich würde das erste machen. Die
www
Konvention stammt aus den Anfängen von HTTP, als es sich bei www.cmu.edu und cmu.edu höchstwahrscheinlich um unterschiedliche Maschinen handelte.quelle
Hier ist eine andere kleine Perspektive.
Wenn Sie kein www haben, gibt es einen kleinen Nachteil, wenn es um textbasierte Medien geht, ob gedruckt oder online, und dies wird als Webadresse erkannt. Im Druck ist es normalerweise ziemlich offensichtlich, dass example.com eine Webadresse ist, und Sie können Stilelemente hinzufügen, um dies hervorzuheben. Aber Klartext online? Nicht so einfach. Wenn Sie eine einfache Textnachricht senden - ob E-Mail, Tweet, Facebook-Post, SMS oder was auch immer -, erkennt diese möglicherweise eine URL, die mit http: // oder www beginnt. wird aber keinen ohne diese erkennen. Um die URL zu einem anklickbaren Link zu machen, müssen Sie entweder www eingeben. oder http: // auf der Vorderseite und der beiden, www. ist kürzer, weniger klobig anzusehen und leichter zu lesen.
quelle
http://example.com/
ist voll qualifiziert, währendwww.example.com
nicht. Ich ziehe den vollständig qualifizierten Ansatz , weil es immer erkennbar als URL unabhängig davon , ob eshttps://example.uk/
oderhttps://blog.example.eu/
oder was auch immer. Dies entspricht der Angabe des Protokolls einer sicheren Site als HTTPS.www.example.com
ist nur eine Domain und sagt nichts darüber aus, welches Protokoll man verwenden soll, um darauf zuzugreifen.