– Szia Amigo!

– Szia, Bilaabo!

– Milyen újdonságot mondasz nekem ma?

"Sok mindent. De kezdésként azt hiszem, megbeszéljük a hálózattal és az internettel való együttműködést. Érdekel?

"Igen. A galaktikus internet szuper menő."

"Rendben, de kezdjük a történelemmel. A 21. század elején a helyzet a következő volt…"

"Minden internetre csatlakoztatott számítógépnek volt egy egyedi száma. Ez egy közönséges 4 bájtos szám volt. Ezt hívják IP-címnek."

"De az embereknek gyenge a memóriája, és nehezen emlékeznek valamire, például a 2108458776-ra, ezért gyakran minden bájtot külön írnak."

"Ha a 2108458776 négybájtos számot külön bájtokra bontjuk, 125.172.135.24-et kapunk. Mint emlékszel, minden bájt 8 bitből áll, és 0 és 255 közötti számokat tartalmazhat."

– Szóval, így írjuk a számot?

"Igen. Egyszerűbb (az embereknek) megjegyezni a négybájtos számokat, ha így írják őket."

"Ahogy ez megtörtént, az a választás, hogy csak 4 bájtot használnak, hamarosan kegyetlen trükköt játszott velük. Az internetre csatlakoztatott eszközök száma olyan gyorsan nőtt, hogy hamarosan kifogytak."

– Hogyan kerülték ezt meg?

– Azt tették, amit az emberek általában.

"Új szabványt dolgoztak ki az IP-címekre, és büszkén elnevezték az IPv6-nak."

"Eltérően egy normál IP-címtől (az úgynevezett IPv4), amely 4 bájtot használ az egyedi szám létrehozásához, az új szabvány 16-ot használ."

"Gondoljunk csak bele, az emberek nem emlékeztek 10 számjegyre egy közönséges számban (például a 2108458776-ban), ezért 4 részre kellett osztani, de aztán arra gondoltak, hogy 16 bájtból álló számokat használnak."

– Igen, az emberek néha furcsák.

"Igen. Az emberek emberek."

"Ez azt jelenti, hogy kijutottak szorult helyzetükből."

– Belefáradtak a számok emlékezetébe, és úgy döntöttek, hogy szavakkal helyettesítik őket.

"Hogy van ez? Tudna mondani egy példát?"

"Természetesen web.mail.com , google.com , new.books.amazon.com , …"

"Az ilyen nevet domainnek hívják."

"Annak érdekében, hogy ez az internet megfelelően működjön, létrehoztak egy speciális táblázatot, DNS-t (Domain Name System), amely az egyes domainnevek IP-címét tárolja."

– Így működik.

1)  A felhasználó beír egy címet a böngészőbe, például: web.mail.com .

2)  A böngésző hozzáfér a DNS-hez, és a domain nevet használja az IP-cím lekéréséhez.

3)  Erre az IP-címre egy kérés érkezik a szükséges URL-lel.

– Ez nem tűnik túl egyszerűnek.

"De ennek a megközelítésnek számos előnye van:

" 1) Az emberek könnyen megjegyeznek olyan neveket, amelyek verbalizálhatók."

" 2) A tartománynevek hierarchikusan építhetők fel, ha a név elejére aldomaineket adnak. Pontosan úgy, mint egy csomagnév a Java-ban."

" 3) Ha módosítania kell a webszerver IP-címét, csak a DNS-rekordot kell módosítania, és minden ugyanúgy fog működni, mint korábban – a felhasználóknak nem kell emlékezniük egy új címre."

"A DNS valahogy így néz ki:"

Domain név IP-cím
mail.com 128.35.36.189
web.mail.com 145.12.17.13
new.mail.com 192.155.15.3
google.com 92.117.151.100
google.com 193.168.0.1
docs.google.com 217.12.222.1

"Van értelme."

"Egyébként a domain egy számítógép neve, de nem a számítógépre van szükségünk, hanem arra, ami a számítógépen van. Erre valók az URL-ek."

"Kezdetben az URL valójában egy másik számítógépen lévő fájlra mutató hivatkozás volt. Például:"

Példa
http : // info.codegym.cc/user/info/profile.html _
Leírás
A http  a kliens-szerver kommunikáció protokollja.
Az info.codegym.cc  a számítógép tartományneve
a user/info/profile.html  a fájl elérési útja a számítógépen

"A hálózatfejlesztés legelején egy webszerver csak egy URL-t tudott használni az általa valahol tárolt fájlok kiszolgálására. Az URL valójában a fájl globális elérési útja volt: számítógépnév + elérési út."

"Később, amikor a webszerverek maguk kezdtek el fájlokat generálni, az URL-ek egy kicsit megváltoztak, és a webszervernek küldött kéréssé váltak. A kérés paraméterei is hozzáadásra kerültek."

"Ma már ritkán látni fájlkiterjesztést az URL végén. "A modern URL csak egy egyedi hivatkozás paraméterekkel. Inkább metódushívás, semmint globális fájlútvonal."

"Egy klasszikus modern URL így néz ki:"

Az URL elemzése
http://codegym.cc/alpha/api/contacts ? _ _ _ _ userid=13&filter=none&page=3
Az URL részeinek leírása
A codegym.cc  a domain név – egy számítógép egyedi neve (címe) az interneten
A http  a kliens-szerver kommunikáció protokollja
Az alpha/api/contacts  a webszerver kérése vagy egy weboldal kérése a szerveren
userid=13 & filter=none & page=3  egy karakterlánc a kérés paramétereivel

"Igen, emlékszem. Nemrég mesélt nekem az URL-ekről."

– És a kikötőkről is. Ön egy bérház példáját használta.

"Jobb lenne megmondani, mi az a "http". Mindenhol azt látom, hogy "protokoll" van írva, de nem tudom, mi az."

"Rendben. Minden további nélkül elmondom."

IP-cím, domain, URL - 1

" A HTTP a H yper T ext T transport P rotocol rövidítése , és a hipertext átvitelére szolgál."

– Mi az a hipertext?

– Ez HTML.

"Nagyjából a protokoll egy kommunikációs szabályrendszer. Leírja, hogy milyen kéréseket lehet küldeni egy webszervernek, és milyen formátumban, valamint azt is, hogy a webszerver hogyan válaszoljon."

"Röviden a helyzet a következő. A kliens és a szerver között közönséges szöveges fájlok, vagy ha úgy tetszik, nagy szövegrészek kerülnek elküldésre. "

" Kérés érkezik a szerverhez, és a szerver választ ad minden kérésre."

"Íme példák ilyen kérésre és válaszra:"

Kérés
GET alpha/api/contacts HTTP/1.1
Host: codegym.cc
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
Leírás
GET – request subtype
alpha/api/contacts – request to the web server
HTTP/1.1 – protocol version – HTTP/1.1
Host: codegym.cc – domain name
User-Agent: Mozilla/5… – unique browser name
Accept: text/html – requested document type: HTML
Connection: close – close the server connection after processing the request.

"Az első sor a tényleges kérés. Az alábbiakban további kérési paraméterek találhatók, más néven fejlécmezők."

"És itt van egy példa a válaszra:"

Válasz
HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: en
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
<html><body><a href="http://ample.com/about.html#contacts">Click here</a></body></html>
HTTP/1.1 200 OK - «200 OK» means everything is okay.
Date: Wed, 11 Feb 2009 - Date on which the request was processed
Server: Apache - Name of the web server
X-Powered-By: PHP - The server uses PHP
Last-Modified: Wed, 11 Feb 2009 - The time of the last update of the requested file
Content-Language: en - The language of the file
Content-Type: text/html; charset=utf-8 – This is an HTML-file with UTF-8 encoding
Content-Length: 1234 - The response is 1234 bytes long
Connection: close - The connection will be closed after the request is handled
<html><body><a href="http://ample - The HTML file itself.

– Két dologra szeretném felhívni a figyelmet:

"Először is, mindegy, hogy mit kérsz, úgy néz ki, mint egy fájlkérelem a szerver felé. Nem számít, hogy a fájl a szerveren van, vagy a szerver generálja azt válaszul a kérésre."

"Másodszor, maga a fájl a HTTP-válasz részeként kerül elküldésre . Más szóval, a szerver válaszának elején további adatokat látunk, majd a kiszolgált fájl törzsét. "

"Milyen érdekes! Nem vagyok benne biztos, hogy mindent értettem. Ezt később újra elolvasom."

– Ó, szeretnék még egy apró, de érdekes dologról mesélni: a sütiről.

"Mik azok?"

"A HTTP protokoll szerint a cookie-k olyan kis információk, amelyeket a szerver elküld a kliensnek, hogy a kliensen tárolja őket. A későbbi kérések részeként pedig visszaküldésre kerülnek a szervernek. "

– És ennek mi értelme?

"Tegyük fel, hogy egy felhasználó bejelentkezik egy webhely kezdőlapjára. A szerver létrehoz egy munkamenet objektumot a szerveren ehhez a felhasználóhoz, és egy egyedi munkamenetszámot küld az ügyfélnek cookie-ként. A következő kérés során az ügyféltől a szerver, ez a munkamenetszám a többi cookie-val együtt visszakerül a szervernek. Ez azt jelenti, hogy a szerver felismeri az új kérést küldő felhasználót."

"Milyen érdekes!"

"Igen. Amikor saját szervleteket ír, akkor közelebbről megvizsgáljuk ezt a témát. De most tartsunk egy kis szünetet."

"Akármit mondasz."