Brauzerga URL kiriting va Enter tugmasini bosganda nima bo'ladi?

Agar siz biron-bir texnik kasb egasi bo'lsangiz, aminmanki, kimdir sizga bu savolni bergan. Siz muhandis, ishlab chiqaruvchi, sotuvchi yoki sotuvchingiz bo'lasizmi, har doim bizning brauzerlarimiz orqasida nimalar sodir bo'layotgani va Internet orqali kompyuterlarimizga ma'lumot qanday uzatilishi haqida asosiy tushunchaga ega bo'lish yaxshi.

Tasavvur qilaylik, siz maps.google.com saytiga kirishni xohlaysiz va ishdan kechki ovqatni bron qilish uchun qancha vaqt kerakligini tekshirib ko'ring.

1. Siz brauzeringizning manzil satriga maps.google.com manzilini kiritasiz.

2. Brauzer maps.google.com manziliga mos keladigan IP-manzilni topish uchun DNS yozuvi uchun keshni tekshiradi.

DNS (Domain Name System) - bu veb-sayt nomi (URL) va unga bog'langan aniq IP-manzilni saqlaydigan ma'lumotlar bazasi. Internetdagi har bir URL manzil unga o'ziga xos IP-manzilga ega. IP-manzili biz kirishni so'ramoqchi bo'lgan veb-sayt serveri joylashgan kompyuterga tegishli. Masalan, www.google.com 209.85.227.104 IP-manziliga ega. Agar xohlasangiz, siz www.google.com manziliga http://209.85.227.104 brauzerida yozib murojaat qilishingiz mumkin. DNS - bu URL-manzillar ro'yxati va ularning IP-manzillari, xuddi telefon kitobi qanday qilib nomlar ro'yxati va ularning tegishli telefon raqamlari.

DNS-ning asosiy maqsadi inson uchun qulay navigatsiya. O'zingizning brauzeringizda to'g'ri IP-manzilni kiritib, veb-saytga osongina kirishingiz mumkin, lekin biz doimo kiradigan barcha veb-saytlar uchun turli xil to'plamlarni eslab qolishni tasavvur qilasizmi? Shuning uchun, URL-dan foydalanib veb-sayt nomini eslab qolish va DNS-ni to'g'ri IP-ga solishtirish orqali bizga buni qilishga imkon berish osonroq.

DNS yozuvini topish uchun brauzer to'rtta keshni tekshiradi.

● Birinchidan, brauzer keshini tekshiradi. Brauzer siz oldin tashrif buyurgan veb-saytlar uchun belgilangan vaqt davomida DNS yozuvlarining saqlovchisini saqlaydi. Shunday qilib, birinchi navbatda DNS so'rovini ishga tushirish.

● Ikkinchidan, brauzer OS keshini tekshiradi. Agar u brauzer keshida topilmasa, brauzer yozuvni olish uchun tizim ostidagi kompyuteringizga tizim qo'ng'irog'ini (ya'ni Windows-ga gethostname) yuboradi, chunki OS ham DNS yozuvlarining keshini saqlaydi.

● Uchinchidan, yo'riqnoma keshini tekshiradi. Agar u kompyuteringizda topilmasa, brauzer DNS yozuvlarini o'z keshini saqlaydigan yo'riqnoma bilan aloqa o'rnatadi.

● To'rtinchidan, ISP keshini tekshiradi. Agar barcha qadamlar bajarilmasa, brauzer ISPga o'tadi. Sizning Internet-provayderingiz o'z DNS-serverini saqlaydi, bu DNS yozuvlari keshini o'z ichiga oladi va brauzer siz so'ragan URL-ni topishda eng oxirgi umid bilan tekshiradi.

Siz nega shunchalik ko'p darajalarda saqlanayotgan keshlar borligiga hayron bo'lishingiz mumkin. Garchi bizning ma'lumotimiz biron bir joyda saqlanayotgan bo'lsa, bu maxfiylik haqida gap ketganda bizni juda qulay his qilmaydi, ammo keshlar tarmoq trafigini boshqarish va ma'lumotlarni uzatish vaqtini yaxshilash uchun muhimdir.

3. Agar so'ralgan URL keshda bo'lmasa, ISP ning DNS serveri maps.google.com joylashgan serverning IP manzilini topish uchun DNS so'rovini yuboradi.

Yuqorida aytib o'tilganidek, mening kompyuterim maps.google.com-ga ega server bilan ulanishi uchun menga maps.google.com-ning IP-manzili kerak. DNS so'rovining maqsadi veb-sayt uchun to'g'ri IP-manzilni topguncha Internetda bir nechta DNS-serverlarni qidirish. Ushbu turdagi qidiruv rezursiv qidiruv deb nomlanadi, chunki qidiruv DNS serveridan DNS serveriga kerakli IP manzilni topmaguncha yoki uni topa olmaganligi sababli xatoga javob qaytarguncha davom etadi.

Bunday vaziyatda biz DSP-ning DNS-serverini DNS-rekursor deb ataymiz, uning vazifasi Internetdagi boshqa DNS-serverlardan so'rash orqali mo'ljallangan domen nomining tegishli IP-manzilini topishdir. Boshqa DNS serverlar nom serverlari deb nomlanadi, chunki ular veb-sayt domen nomining domen arxitekturasiga asoslangan holda DNS qidirishni amalga oshiradilar.

Sizni chalkashtirib yubormasdan, domen arxitekturasini tushuntirish uchun quyidagi diagrammadan foydalanmoqchiman.

https://webhostinggeeks.com/guides/dns/

Bugungi kunda biz duch keladigan ko'plab veb-sayt URL-larida uchinchi darajali domen, ikkinchi darajali domen va yuqori darajadagi domen mavjud. Ushbu darajalarning har biri DNS qidirish jarayonida so'raladigan o'zlarining serverlarini o'z ichiga oladi.

Maps.google.com uchun avval DNS rekursori ildiz nomi serveriga murojaat qiladi. Ildiz nomi serveri uni .com domen nomi serveriga yo'naltiradi. .com nomli server uni google.com nom serveriga yo'naltiradi. google.com nomidagi server DNS qaydnomalarida maps.google.com uchun mos IP manzilni topadi va uni DNS rekursoringizga qaytaradi va uni brauzeringizga qaytaradi.

Ushbu so'rovlar so'rovning mazmuni va uning IP-manzili (DNS rekursorining IP-manzili) kabi ma'lumotlarni o'z ichiga olgan kichik ma'lumot paketlari yordamida yuboriladi. Ushbu paketlar to'g'ri DNS serveriga etib borguncha mijoz va server o'rtasida bir nechta tarmoq uskunalari orqali o'tadi. Ushbu jihoz marshrutlash jadvallaridan foydalanib, paket qaysi maqsadga etib borishi mumkinligini aniqlaydi. Agar ushbu paketlar yo'qolsa, siz so'rovda xatolik yuz beradi. Aks holda, ular to'g'ri DNS-serverga etib boradilar, to'g'ri IP-manzilni oladilar va brauzeringizga qaytib keladilar.

4. Brauzer server bilan TCP ulanishni boshlaydi.

Brauzer to'g'ri IP-manzilni olgandan so'ng, ma'lumotni uzatish uchun IP-manzilga mos keladigan server bilan aloqa o'rnatiladi. Bunday ulanishlarni o'rnatish uchun brauzerlar Internet protokollaridan foydalanadilar. Bir nechta turli xil Internet protokollari mavjud, ammo ulardan foydalanish mumkin, ammo TCP har qanday HTTP so'rovi uchun ishlatiladigan eng keng tarqalgan protokoli.

Ma'lumot paketlarini kompyuteringiz (mijoz) va server o'rtasida uzatish uchun TCP ulanishini o'rnatish muhimdir. Ushbu ulanish TCP / IP uch tomonlama qo'l siqish deb nomlangan jarayon yordamida o'rnatiladi. Bu uch bosqichli jarayon bo'lib, u erda mijoz va server SYN (sinxronizatsiya qilish) va ACK (tasdiqlash) xabarlarni ulash uchun almashadilar.

1. Mijoz mashinasi SYN paketini yangi ulanishlar uchun ochiqligini so'rab, Internet orqali serverga yuboradi.

2. Agar serverda yangi ulanishlarni qabul qila oladigan va ochadigan ochiq portlar mavjud bo'lsa, u SYN / ACK paketidan foydalanib, SYN paketini ACKnaqlash bilan javob beradi.

3. Mijoz SYN / ACK paketini serverdan oladi va uni ACK paketini yuborish orqali tasdiqlaydi.

Keyin ma'lumot uzatish uchun TCP ulanishi o'rnatildi!

5. Brauzer veb-serverga HTTP so'rovini yuboradi.

TCP aloqasi o'rnatilgandan so'ng, ma'lumotlarni uzatishni boshlash vaqti keldi! Brauzer GET so'rovini yuborib, maps.google.com veb-sahifasini yuboradi. Agar siz hisob ma'lumotlarini kiritsangiz yoki ariza topshirsangiz, bu POST so'rovi bo'lishi mumkin. Ushbu talab shuningdek brauzerni identifikatsiya qilish (User-Agent header), uni qabul qiladigan so'rov turlari (Header qabul qilish) va qo'shimcha so'rovlar uchun TCP ulanishini doimiy ushlab turishni talab qiladigan ulanish sarlavhalari kabi qo'shimcha ma'lumotlarni o'z ichiga oladi. Shuningdek, u ushbu domen uchun saqlanadigan brauzer cookie-fayllaridan olingan ma'lumotlarni uzatadi.

GET so'rovining namunasi (sarlavhalar ajratib ko'rsatiladi):

(Agar siz sahna ortida nimalar bo'layotganini bilmoqchi bo'lsangiz, HTTP so'rovlarini ko'rib chiqish uchun Firebug kabi vositalardan foydalanishingiz mumkin. Biz bilmagan holda mijozlar va serverlar o'rtasida uzatiladigan ma'lumotni ko'rish har doim quvonchlidir).

6. Server so'rovni ko'rib chiqadi va javobni yuboradi.

Serverda veb-server mavjud (ya'ni Apache, IIS), u brauzerdan so'rovni qabul qiladi va uni o'qish va javob hosil qilish uchun so'rovni qayta ishlov beruvchiga yuboradi. Talablarni qayta ishlash dasturi bu so'rovni o'qiydigan dastur (ASP.NET, PHP, Ruby va hk), so'ralganlarni tekshirish, shuningdek, so'ralganlarni tekshirish va kerak bo'lganda serverdagi ma'lumotlarni yangilash. Keyin u ma'lum bir formatda (JSON, XML, HTML) javobni yig'adi.

7. Server HTTP javobini yuboradi.

Server javobida siz so'ragan veb-sahifa, shuningdek, status kodi, siqishni turi (tarkib-kodlash), sahifani qanday keshlash (Cache-Control), sozlash uchun har qanday cookie-fayllar, maxfiylik ma'lumotlari va boshqalar mavjud.

HTTP-server javobi:

Agar yuqoridagi javobga qarasangiz, birinchi qatorda holat kodi ko'rsatilgan. Bu juda muhim, chunki bizga javobning holati haqida ma'lumot beriladi. Raqamli kod yordamida batafsil holatlarning besh turi mavjud.

● 1xx faqat ma'lumot xabarini bildiradi

● 2xx qandaydir muvaffaqiyatni bildiradi

● 3xx mijozni boshqa manzilga yo'naltiradi

● 4xx mijozning xatosi borligini bildiradi

● 5xx serverda xato borligini bildiradi

Shunday qilib, agar siz xatoga duch kelsangiz, siz qanday status statusini olganingizni tekshirish uchun HTTP javobini ko'rib chiqishingiz mumkin.

8. Brauzer HTML tarkibini ko'rsatadi (eng keng tarqalgan HTML javoblari uchun).

Brauzer HTML tarkibini bosqichma-bosqich namoyish etadi. Birinchidan, bu yalang'och suyak HTML skeletini chiqaradi. Keyin u HTML teglarini tekshiradi va rasmlar, CSS uslublar jadvallari, JavaScript fayllari va hk kabi veb-sahifadagi qo'shimcha elementlar uchun GET so'rovlarini yuboradi. Ushbu statik fayllar brauzer tomonidan keshlanadi, shuning uchun ularni qayta yuklash shart emas. keyingi safar sahifaga kirganingizda. Oxirida, brauzeringizda maps.google.com paydo bo'ladi.

Bo'ldi shu!

Bu juda uzoq davom etadigan jarayon kabi tuyulsa-da, biz klaviaturamizga bosganimizdan so'ng veb-sahifani ko'rsatish uchun bir necha soniya vaqt kerakligini bilamiz. Ushbu qadamlarning barchasi biz hatto sezmay turib, millisekundlarda sodir bo'ladi. Umid qilamanki, ushbu maqola sizga "URL-manzilni brauzerga kiritib, Enter ni bosing" nima degan savolga javob berishga yordam beradi.

Agar foydali bo'lsa, ushbu maqolani yoqtirish, sharhlash yoki baham ko'rishdan xursand bo'ling :)