sv.phhsnews.com


sv.phhsnews.com / När du först börjar lära dig hur domännamn, IP-adresser, webbservrar och webbplatser passar och fungerar tillsammans, kan det vara lite förvirrande eller överväldigande ibland. Hur är det hela sättet att fungera så smidigt? Dagens SuperUser Q & A-inlägg har svar på en nyfiken läsarens frågor.

När du först börjar lära dig hur domännamn, IP-adresser, webbservrar och webbplatser passar och fungerar tillsammans, kan det vara lite förvirrande eller överväldigande ibland. Hur är det hela sättet att fungera så smidigt? Dagens SuperUser Q & A-inlägg har svar på en nyfiken läsarens frågor.


Foto med tillstånd av Rosmarie Voegtli (Flickr).

Frågan

SuperUser-läsare user3407319 vill veta om webbservrar bara har en webbplats:

Baserat på vad jag förstår om DNS och länka ett domännamn med IP-adressen till webbserver en webbplats lagras på, betyder det att varje webbserver bara kan hålla en webbplats? Om webbservrar håller mer än en webbplats, hur blir det så löst så att jag kan komma åt webbplatsen jag vill ha utan problem eller mix ups?

Har webservrar bara en webbplats, eller håller de mer

Svaret

SuperUser-bidragsgivare Bob har svaret för oss:

I grunden innehåller webbläsaren domännamnet i HTTP-förfrågan så att webbservern vet vilken domän som begärdes och kan svara i enlighet därmed.

HTTP-förfrågningar

Så här händer din typiska HTTP-förfrågan:

1.

Användaren tillhandahåller en URL, i formuläret // värd: port / sökväg.

2. webbläsaren extraherar värddelen (domänen) delen av webbadressen och översätter den till en IP-adress (om nödvändigt) i en process som kallas namnupplösning. Denna översättning kan ske via DNS, men det behöver inte (till exempel, den lokala värdfilen på vanliga operativsystem omkör DNS).

3. Webbläsaren öppnar en TCP-anslutning till den angivna porten eller standardinställningar till port 80 på den IP-adressen.

4. Webbläsaren skickar en HTTP-begäran. För HTTP / 1.1 ser det ut så här:

Verktygsrubriken är standard och krävs i HTTP / 1.1. Det var inte angivet i HTTP / 1.0-specifikationen, men vissa servrar stöder det ändå. Härifrån har webbservern flera bitar av information som den kan använda för att bestämma vad svaret ska vara. Observera att det är möjligt för en enda webbserver att vara bunden till flera IP-adresser.

Den begärda IP-adressen från TCP-uttaget (klientens IP-adress är också tillgänglig, men det används sällan, och ibland för blockering / filtrering)

Den begärda porten, från TCP-uttaget

  • Det begärda värdnamnet, enligt webbläsarens värdhuvud i HTTP-förfrågan
  • Den begärda sökvägen
  • Alla andra rubriker , etc.).
  • Som du tycks ha märkt sätter de vanligaste delade värdinställningarna idag flera webbplatser på en enda IP-adress: portkombination, vilket bara innebär att värden skiljer mellan webbplatser.
  • Detta är känt som en namnbaserad virtuell värd i Apache-landet, medan Nginx ringer dem Servernamn i serverns block och IIS föredrar Virtual Server.

Vad om HTTPS?

HTTPS är lite annorlunda. Allt är identiskt med upprättandet av TCP-anslutningen, men efter det måste en krypterad TLS-tunnel upprättas. Målet är att inte läcka någon information om begäran.

För att verifiera att webbservern egentligen äger den här domänen måste webbservern skicka ett intyg signerat av en betrodd tredje part. Webbläsaren jämför sedan detta certifikat med den domän som den begärde.

Detta presenterar ett problem. Hur vet webbservern vilket värd / webbplatsens certifikat att skicka om det behöver göra detta innan HTTP-begäran tas emot?

Traditionellt löstes detta genom att ha en dedicerad IP-adress (eller port) för varje webbplats som kräver HTTPS. Självklart har detta blivit problematiskt när vi löper ut av IPv4-adresser.

Ange SNI (Server Name Indication). Webbläsaren skickar nu värdnamnet under TLS-förhandlingarna, så webbservern har den här informationen tillräckligt tidigt för att skicka rätt certifikat. På webbserverns sida liknar konfigurationen mycket hur HTTP-virtuella värdar konfigureras.

Nackdelen är värdnamnet skickas nu som vanlig text före kryptering och är väsentligen läckt information. Detta anses vanligtvis vara en acceptabel avvägning, men med tanke på att värdnamnet normalt exponeras i en DNS-fråga ändå.

Vad om du bara begär en webbplats via IP-adress?

Vad webservern gör när den inte vet vilken specifik värd du begärde beror på webbserverns genomförande och konfiguration. Vanligtvis finns det en "default", "catch-all" eller "fall back" -webbplats som anges som svar på alla förfrågningar som inte explicit anger en värd.

Denna standardwebbplats kan vara en egen oberoende webbplats ( ofta visas ett felmeddelande), eller det kan vara någon av de andra webbplatser på webbservern beroende på inställningarna hos webbserverns admin.

Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.


Hur man döljer eller visar menyraden automatiskt i OS X El Capitan

Hur man döljer eller visar menyraden automatiskt i OS X El Capitan

Windows-användare har möjlighet att gömma Aktivitetsfältet, men menyraden i OS X är en konstant närvaro. Det här är inte nödvändigtvis dåligt eftersom menyraden inte tar upp så mycket rum. Om du vill gömma det kan du dock. RELATERAD: Åtkomst till dolda alternativ och information med din Mac-alternativknapp Menyraden är ganska mångsidig.

(how-to)

Bästa Gratis Kretskortshanterare för Windows

Bästa Gratis Kretskortshanterare för Windows

Förmodligen en av de mest använda funktionerna i Windows är Windows Urklipp: funktionen som låter dig kopiera och klistra in text, bilder och filer mellan olika program och mappar. Med all användning får den dock bara objekt åt gången.Lyckligtvis finns det många gratis kretskortshanterare som avsevärt kan förbättra utklippstavlan så att det kan hålla flera objekt, ändra formateringen eller fallet med text, låta dig söka klipp, skapa permanenta klipp, sammanfoga två klipp, synkronisera klipppaneler mellan datorer, etc. I den här artike

(How-to)