Kai pirmą kartą pradedate mokytis, kaip domenų vardai, IP adresai, interneto serveriai ir tinklalapiai viskas tinkami ir dirba kartu, tai gali būti šiek tiek paini ar pernelyg didelis. Kaip visa tai sukurta taip sklandžiai dirbti? Šiandien "SuperUser Q & A" žinia turi atsakymus į įdomius skaitytojo klausimus.
Šiandienos klausimų ir atsakymų sesija ateina pas mus "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A svetainių grupės, padalinys.
Nuotraukų mandagumo Rosmarie Voegtli (Flickr).
SuperUser skaitytojas user3407319 nori žinoti, ar žiniatinklio serveriuose yra tik viena svetainė:
Remiantis tuo, ką aš suprantu apie DNS ir susiejant domeno vardą su IP adresu žiniatinklio serverio svetainė yra saugoma, ar tai reiškia, kad kiekvienas žiniatinklio serveris gali turėti tik vieną svetainę? Jei žiniatinklio serveriuose yra daugiau nei viena svetainė, tada kaip visa tai išspręsta, kad galėčiau pasiekti norimą svetainę be jokių problemų ar susimaišyti?
Ar žiniatinklio serveriai turi tik vieną svetainę, ar jie turi daugiau
SuperUser autorius Bob atsakė mums:
Paprastai naršyklė įtraukia domeno pavadinimą HTTP užklausoje, taigi žiniatinklio serveris žino, kuris domenas buvo užklaustas ir gali atitinkamai atsakyti.
HTTP užklausos
Štai kaip atsiranda jūsų tipiškas HTTP užklausa:
1. Vartotojas pateikia URL adresu // host: port / path.
2. The naršyklė ištraukia URL ("domeno") dalį URL ir verčia ją į IP adresą (jei reikia) procese, žinomu kaip vardų skiriamoji geba. Šis vertimas gali vykti per DNS, bet jis nereikalingas (pvz., Vietinių kompiuterių failas įprastomis operacinėmis sistemomis apeina DNS).
3. Naršyklė atidaro TCP ryšį su nurodytu prievadu arba numatytaisiais prie šio IP adreso 80.
4. Naršyklė siunčia HTTP užklausą. HTTP / 1.1 atveju jis atrodo taip:
Hosto antraštė yra standartinė ir reikalinga HTTP / 1.1. Tai nebuvo nurodyta HTTP / 1.0 specifikacijoje, bet kai kuriuose serveriuose tai vis tiek palaiko.
Čia žiniatinklio serveryje yra keletas informacijos, kurią jis gali naudoti norėdamas nuspręsti, koks atsakymas turėtų būti. Atkreipkite dėmesį, kad vieno interneto serverio gali būti susietas su keliais IP adresais.
- Prašomas IP adresas iš TCP lizdo (taip pat yra ir kliento IP adresas, tačiau tai retai naudojamas, o kartais ir užblokavimas / filtravimas)
- Prašomasis prievadas iš TCP lizdo
- Prašomas vardas, kaip nurodoma HTTP užklausoje naršyklės pagrindiniame antraštėje
- Prašomas kelias
- Bet kuri kita antraštė (slapukai ir kt.)
Kaip atrodo, kad pastebėjote, labiausiai paplitusi prieglobos serverio sąranka šiomis dienomis viename IP adrese nurodo kelias svetaines: uosto derinį, paliekant tik priimančiąją, kad būtų galima atskirti svetaines.
Tai žinoma kaip vardas pagrįstas virtualus serveris "Apache-land", o "Nginx" juos vadina Serverių vardai serverio blokuose, o "IIS" pirmenybę teikia "Virtualus serveris".
Kas apie HTTPS?
HTTPS šiek tiek skiriasi. Viskas vienodi iki TCP ryšio sukūrimo, tačiau po to turi būti įtvirtintas užšifruotas TLS tunelis. Tikslas yra neiškreipti jokios informacijos apie užklausą.
Norėdami patikrinti, ar žiniatinklio serveryje iš tikrųjų priklauso šis domenas, žiniatinklio serveris turi išsiųsti sertifikatą, kurį pasirašo patikima trečioji šalis. Tada naršyklė palygins šį sertifikatą su prašomu domenu.
Tai kelia problemą. Kaip žiniatinklio serveris žino, kuris žiniatinklio / svetainės sertifikatas turi būti siunčiamas, jei to reikia, prieš gaunant HTTP užklausą?
Tradiciškai tai buvo išspręsta turint atskirą IP adresą (arba prievadą) kiekvienai svetainei, kuriai reikia HTTPS. Akivaizdu, kad tai tapo problematiška, nes neveikia IPv4 adresai.
Įveskite SNI (serverio pavadinimo indikaciją). Per TLS derybas naršyklė dabar perduoda šeimininko vardą, taigi žiniatinklio serveris turi šią informaciją pakankamai anksti, kad būtų išsiųstas teisingas sertifikatas. Serverio pusėje konfigūracija yra labai panaši į konfigūraciją HTTP virtualių serverių.
Neigiamas dalykas yra tai, kad prieš šifravimą priimančiojo vardas praeina kaip paprastas tekstas ir iš esmės yra išsilaisvinusi informacija. Tai paprastai laikoma priimtina kompromisimi, nors atsižvelgiant į tai, kad vis tiek kompiuterio vardas paprastai pateikiamas DNS užklausoje.
Ką daryti, jei prašote svetainę tik IP adresu?
Ką veikia žiniatinklio serveris, kai jis nežino kuris konkretus jūsų prašomas hostas priklauso nuo žiniatinklio serverio įdiegimo ir konfigūracijos. Paprastai yra nurodytas numatytasis "numatytasis", "sugautas" arba "grįžtamasis" tinklalapis, kuriame bus atsakymai į visus prašymus, kuriuose nėra aiškiai nurodomas kompiuteris.
Ši numatytoji svetainė gali būti jos nepriklausoma svetainė ( dažnai rodomas klaidos pranešimas), arba tai gali būti bet kuri kita žiniatinklio serverio svetainė, priklausomai nuo interneto serverio administratoriaus nuostatų.
Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.
Kaip iš naujo nustatyti savo "Android" TV
". Kiekvieno vartotojo gyvenime ateina laikas, kai jie turi grąžinti kažką iš naujo į numatytuosius gamykloje. Patikrinkite, ar prietaisas veikia nepakartojamai ir jam reikia naujo paleidimo, atsikratyti jo ar norite, kad dėl šiek tiek kitokios priežasties būtų švarus šiferis. Geros naujienos yra tai, kad į "Android TV" langelį neįtikėtinai lengva iš naujo nustatyti, nepriklausomai nuo gamintojo.
Kaip sukurti aplankus Windows "Siųsti" meniu?
Galimybė greitai ir lengvai siųsti failus į tinkamas vietas kontekstinio meniu gali padėti supaprastinti darbo eigą, bet Ką daryti, jei norite pridėti pasirinktinius pogrupius į mišinį? Šiandienos "SuperUser" užklausų ir atsakymų žinutė turi atsakymus, kad padėtų skaitytojui siųsti savo failus. " Šiandienos klausimų ir atsakymų sesija ateina pas mus" SuperUser "-" Stack Exchange ", bendruomenės pagrįstos" Q & A "svetainių grupės, padalijimas.