angle-uparrow-clockwisearrow-counterclockwisearrow-down-uparrow-leftatcalendarcard-listchatcheckenvelopefolderhouseinfo-circlepencilpeoplepersonperson-fillperson-plusphoneplusquestion-circlesearchtagtrashx

Waarom uw website canonical name moet zijn 'www' (of 'app' of iets anders)

Een website URL beginnend met 'www' voorkomt dat bezoekersgegevens (cookies) naar onbedoelde bestemmingen worden gestuurd.

27 november 2020
post main image
https://unsplash.com/@volcanono

Ik weet het, er zijn veel artikelen over dit onderwerp. Maar ik dacht dat het nuttig was om hierover een bericht te schrijven omdat ik niet alle details kende.

Ik neem aan dat uw website vanaf het internet toegankelijk is via een 'without-www' URL en een 'with-www' URL. Dit artikel gaat niet over het selecteren van een website-URL voor marketingdoeleinden. Zelfs als u een 'with-www' URL voor uw website gebruikt, kunt u de 'without-www' URL nog steeds aan uw publiek communiceren.

In plaats daarvan gaat dit artikel over de technische implicaties van het gebruik van een 'www' prefix of helemaal geen prefix .

Definities

Domeinnaam Een domeinnaam is de unieke naam die een entiteit als een website op het internet identificeert. Een domeinnaam heeft altijd twee of meer delen, gescheiden door punten.

Webadres of URL Webadres of URL is een locatie van een entiteit op het internet. Dit kan een bestand zijn, een webpagina, een website.

Domein apex Een domein apex is een root van een domein. Bijvoorbeeld, example.org is een domein apex. En www.example.org, mail.example.org worden subdomeinen van example.org genoemd. Een domein apex wordt ook wel een basis, kaal of naakt domein genoemd.

Canonieke naam Een canonical name, ook wel CNAME-record genoemd, is een DNS-record dat een hostnaam van een computer of server definieert. Het wordt gebruikt om een prefix als 'www' toe te voegen aan een root-domein.

Domain Name System (DNS) Het Domain Name System, of DNS, is een gedecentraliseerd systeem voor computers die zijn aangesloten op het internet. Het wordt vaak het telefoonboek van het internet genoemd. De belangrijkste functie is de vertaling van een URL naar een IP-adres. Dit gebeurt door middel van nameservers.

Name server Naamservers maken deel uit van het Domain Name System (DNS). Als iemand DNS-records op een naamserver wijzigt, worden deze wijzigingen doorgegeven aan alle naamservers die deel uitmaken van het DNS. Zij voeren de eigenlijke vertaling van de URL naar het IP-adres uit.

Wat gebeurt er als u een URL in uw browser typt?

Laten we, voordat we in detail treden, eerst samenvatten hoe een webpagina op uw scherm wordt weergegeven. De URL die u in uw browser typt, wordt naar een nameserver gestuurd. De nameserver vertaalt dit naar een IP-adres en stuurt dit terug naar uw browser. Uw browser maakt verbinding met dit IP-adres en haalt de bron, vaak een webpagina, op.

De gegevens die in de browser worden getoond, worden meestal door drie of vier systemen geselecteerd:

  • Het domeinnaamsysteem (DNS)
  • (facultatief) Een proxy server
  • De webserver, bijvoorbeeld Nginx, Apache
  • De webapplicatie

De vertaling van de URL naar het IP-adres gebeurt door een of meer DNS-records.

De optionele proxy server is een intermediaire server die website(s) van het internet scheidt. Om het eenvoudig te houden ga ik ervan uit dat er geen proxy server in onze verbinding zit.

De webserver kan op verschillende manieren worden geconfigureerd. Hij kan een URL 'without-www' omleiden of herschrijven naar een URL 'with-www', of vice versa. Het kan ook HTTP omleiden of herschrijven naar HTTPS.

De webapplicatie ontvangt de URL van de webserver, verwerkt deze en stuurt de gegevens van de gevraagde bron, een bestand of webpagina terug naar de webserver. Tot slot stuurt de webserver deze gegevens terug naar de browser.

Omleiding: naar 'without-www', naar 'with-www', of geen omleiding

Natuurlijk moet uw website toegankelijk zijn vanaf een URL en de meeste websites ondersteunen een 'without-www' URL en 'with-www' URL. Maar hoe zit het met omleiding?

Geen omleiding

Ik hou van de no redirection case omdat het WYSIWYG (What You See Is What You Get) is, wat betekent dat wanneer de pagina wordt geladen, de URL in de browser begint met wat je in de browser hebt getypt. Het is verwarrend als u een 'with-www' URL typt en deze verandert in een 'without-www', of andersom. Ik heb nooit graag een computer gehad die automatisch dingen voor mij verandert ...

Bij het controleren van sommige websites op het internet bleek dat slechts enkele websites de URL zoals die door de bezoeker in de browser is getypt, 'with-www' bleef 'with-www', en 'without-www' bleef 'without-www'. Er zijn er niet veel, dus dit is waarschijnlijk geen goed idee, waarom hebben ze er toch voor gekozen, er moet een reden zijn?
Vanuit een SEO (Search Engine Optimization) perspectief is dit zeker niet de beste oplossing. Uw website kan vermeldingen hebben in zoekmachinedatabases 'with-www' URL's en 'without-www' URL's.

Omleiding naar URL 'without-www'.

Wanneer u in dit geval een 'with-www' URL typt, verandert het webadres in uw browser in de 'without-www' URL. Enkele voorbeelden van 'without-www' websites:

  • twitter.com
  • github.com
  • stackoverflow.com

Dit betekent dat sommige topsites doorverwijzen naar een 'without-www' URL. Het is korter, ziet er moderner uit, mooier, in de browser. Is dat de reden waarom ze ervoor gekozen hebben om het op deze manier te doen?

Omleiding naar een 'with-www' URL

Wanneer u in dit geval een 'without-www' URL typt, verandert het webadres in uw browser in de 'with-www' URL. Enkele voorbeelden van 'with-www' websites:

  • www.nytimes.com
  • www.python.org
  • www.apple.com

Het blijkt dat de meeste topsites doorverwijzen naar een 'with-www' URL. Dit ziet er ouderwets uit of is daar een goede reden voor?

Het verbergen van 'www' in de browser

Recentelijk zijn populaire webbrowsers als Chrome en Safari begonnen met het verbergen van het 'www' gedeelte van een URL. De uitleg van Google is dat ze 'URL's makkelijker leesbaar en begrijpelijker willen maken, en afleidingen willen verwijderen', zie onderstaande links.

Maar wacht, dit betekent waarschijnlijk dat de topsites niet van plan zijn om 'without-www' URL's te gebruiken, maar vasthouden aan 'with-www' URL's. Wat is hier aan de hand?

Waarom de meeste topwebsites 'without-www' URL's omleiden naar 'with-www' URL's?

Eindelijk komen we ergens. De meeste websites verwijzen 'without-www' URL's door naar 'with-www' URL's om een of meer van de volgende redenen:

Cookies

Voor website-eigenaren is de belangrijkste reden wat er gebeurt met cookies. Voor een 'with-www' URL wordt alleen een cookie naar het subdomein 'www' gestuurd.

Voor een 'without-www' URL wordt de cookie gedeeld door alle subdomeinen. De cookie gegevens worden met elk verzoek en antwoord meegestuurd, ongeacht of een subdomein deze gegevens gebruikt of niet.

Waarom is dit belangrijk?

Als u een subdomein, statisch.example.com hebt, wordt uw images, javascripts en stylesheets altijd naar dat domein gestuurd. Erger nog, als u een externe CDN (Content Delivery Network) gebruikt op een URL zoals static.yourdomain.com dan kan het onmogelijk zijn om te voorkomen dat de cookie daarheen gaat.

Ook een cookie bevat gegevens van uw websitebezoeker, wat betekent dat u een privacyprobleem en een mogelijk veiligheidslek creëert als u geen maatregelen neemt om dit te voorkomen.

Flexibiliteit, beschikbaarheid

Er is nog een andere reden en dat heeft te maken met flexibiliteit, beschikbaarheid. Maar dit geldt alleen als u gebruik maakt van de DNS-dienst van de provider waar u uw website host, zie onderstaande links.

DNS-records instellen en webserver doorsturen

Nu we weten dat we altijd een 'with-www' URL voor onze website moeten hebben, hoe doen we dat dan?

Voor de DNS-records zijn er twee manieren:

A-record en CNAME-record:

 Type  | Host             | Data
-------+------------------+-------------
 A     | example.org      | 192.0.1.2
 CNAME | www.example.org  | example.org

Of, twee A-records:

 Type  | Host             | Data
-------+------------------+-------------
 A     | example.org      | 192.0.1.2
 A     | www.example.org  | 192.0.1.2

We moeten de webserver ook vertellen dat hij de 'without-www' URL's moet omleiden naar 'with-www' URL's. Een voorbeeld van omleiding met Nginx is:

  if ($http_host = "example.org") {
    rewrite ^ $scheme://www.example.org$request_uri? permanent;
  }

Samenvatting

De titel van dit artikel zegt dat uw website canonical name www (of app of iets dergelijks) moet zijn. Dit komt omdat u gewoonlijk een CNAME-record, of Canonical Name record, gebruikt om het 'www' -subdomein in te stellen.

Het gebruik van een 'with-www' URL voor uw website maakt het mogelijk om statische bronnen te bedienen vanuit een cookieloos domein dat de gegevensoverdracht reduceert. Het gebruik van een 'with-www ' URL voor uw website voorkomt ook mogelijke privacy- en veiligheidsproblemen van uw bezoeker (cookie) gegevens.

Links / credits

Choosing between www and non-www URLs
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs

Domain IP address for www and non-www for Canonical URL
https://stackoverflow.com/questions/19566856/domain-ip-address-for-www-and-non-www-for-canonical-url

Issue 883038: Feedback: Eliding www/m subdomains
https://bugs.chromium.org/p/chromium/issues/detail?id=883038#c114

To WWW or not WWW
https://www.netlify.com/blog/2017/02/28/to-www-or-not-www/

Why a domain’s root can’t be a CNAME — and other tidbits about the DNS
https://www.freecodecamp.org/news/why-cant-a-domain-s-root-be-a-cname-8cbab38e5f5c/

Laat een reactie achter

Reageer anoniem of log in om commentaar te geven.

Opmerkingen (2)

Laat een antwoord achter

Antwoord anoniem of log in om te antwoorden.

avatar

Very clear and useful. Thanks.

avatar

Another brilliant and helpful post. Thanks! Why don't you include an About on your blog? Can't seem to locate it.