Texnologiyadagi katta yutuqlar bilan, ba'zida biz aysbergning uchiga e'tibor qaratamiz va veb-sahifaning jabhasini ko'rish uchun zarur bo'lgan haqiqiy ishni e'tiborsiz qoldiramiz. Buni aytganingizdan so'ng, brauzeringizning qidiruv maydoniga URL manzilini yozib, enter tugmasini bosganingizda nima bo'lishini hech o'ylab ko'rganmisiz? Sizga, tomoshabinga go'zal veb-saytni ko'rsatish uchun bir nechta qadamlarni bajarish haqida hech o'ylab ko'rganmisiz? Ushbu blogda men URL manzilini kiritganingizda bir nechta qadamlar haqida gapiraman

URL NIMA?

AURL (Uniform Resource Locator)resursni internet orqali yagona aniqlash uchun ishlatiladi. URL quyidagi sintaksisga ega:

protocol://hostname:port/path-and-file-name

URLda 4 qism mavjud:

Protokol: Mijoz va server, HTTP, FTP va telnet tomonidan ishlatiladigan dastur darajasidagi protokol.

Xost nomi: Serverning DNS domen nomi (“www.holbertonschool.com”) yoki IP manzili (xxx.xxx.xxx.xxx).

Port: Server mijozlardan kiruvchi soʻrovlarni tinglayotgan TCP port raqami.

Yo'l va fayl nomi:Server hujjat bazasi katalogi ostida so'ralgan manbaning nomi va joylashuvi.

Bularning barchasini tushuntirib beramiz.

Ushbu blogning maqsadi uchun men o'zimning URL manzilimni "https://www.holbertonschool.com" deb nomlayman. Brauzeringizda https://www.holbertonschool.com deb yozsangiz va Enter tugmasini bossangiz nima bo'ladi? URLni kiritganingizdan va bu sahifani ko'rishingiz mumkin bo'lgan vaqt oralig'ida juda ko'p narsalar davom etishi kerak.

Sizning veb-brauzeringiz qilishi kerak bo'lgan birinchi narsa bu nimani anglatishini tushunishga harakat qilishdir. Kompyuterlar va brauzerlar bir-birini identifikatsiya qilish uchun IP manzillari orqali bog'lanadi.

Buning uchun biz kompyuterlar orasidagi tarmoqdagi aloqa qanday yaratilganligini tushunishimiz kerak.

TCP/IP

TCP / IP (Transmission Control Protocol / Internet Protocol) bu mashinalar bir-biri bilan tarmoq orqali bog'lanishi uchun transport protokollari va tarmoq qatlami.

TCP 2 protokoldan iborat: TCP va UDP (User Datagram Packet). TCP ishonchli, har bir paket tartib raqamiga ega va tasdiqlash kutiladi. Qabul qiluvchi tomonidan qabul qilinmasa, paket qayta uzatiladi. TCP da paketlarni yetkazib berish kafolatlanadi. UDP paketlarni yetkazib berishni kafolatlamaydi va shuning uchun ishonchli emas. Biroq, UDP kamroq tarmoq yukiga ega va ishonchliligi muhim bo'lmagan video va audio oqimlari kabi ilovalar uchun ishlatilishi mumkin.

IP-mashina ichidagi TCP multipleks ilovalari. Har bir IP-mashina uchun TCP 0 dan 65535 gacha bo'lgan portlar soni 65536 gacha bo'lgan portlarni (yoki rozetkalarni) qo'llab-quvvatlaydi (multiplekslar). HTTP yoki FTP kabi dastur kiruvchi so'rovlar uchun ma'lum bir port raqamida ishlaydi (yoki tinglaydi). 0 dan 1023 gacha mashhur protokollar uchun oldindan tayinlangan, HTTP 80, FTP 21, Telnet 23, SMTP 25, NNTP 119 va DNS 53. Port 1024 va undan yuqorisi foydalanuvchilar uchun mavjud.

Ikkalasi o'rtasida aloqa "TCP 3 tomonlama qo'l siqish" deb nomlangan jarayon orqali o'rnatiladi. Bu uch bosqichli jarayon bo'lib, mijoz va server ulanishni o'rnatish uchun SYN (sinxronizatsiya) xabari va ACK (tasdiqlash) xabarini almashadilar. Birinchidan, sizning shaxsiy kompyuteringiz (mijoz mashinasi) yangi ulanishni so'rab Internet orqali serverga (boshqa joyda joylashgan mashina) SYN xabarini yuboradi. Agar serverda (boshqa joyda joylashgan mashinada) ochilish porti bo'lsa, siz yangi ulanishni boshlashingiz mumkin, u SYN / ACK paketida SYN xabari bilan ACK xabarini yuborish orqali mijoz serveriga (kompyuteringizga) xabar beradi. Mijoz serveri (sizning shaxsiy kompyuteringiz) xabarni qabul qiladi va ACK xabarini yuborish orqali uni tasdiqlaydi. Va ma'lumotlarni uzatish uchun TCP ulanishi shunday o'rnatiladi.

HOST X = sizning kompyuteringiz

SERVER = boshqa joyda joylashgan mashina

IP (Internet Protocol) bu tarmoq sathi protokoli boʻlib, u tarmoqni marshrutlash va manzillash bilan shugʻullanadi. IP tarmog'ida har bir mashinaga noyob IP-manzil tayinlanadi(masalan, 165.1.2.3), u sizning uy manzilingizga o'xshash narsa. IP dasturiy ta'minoti xabarni manba IP dan maqsad IP ga yo'naltirish uchun javobgardir. IPv4 da (IP 4-versiya) IP-manzil 4 baytdan iborat bo'lib, ularning har biri nuqtalar bilan ajratilgan 0 dan 255 gacha boradi, bu to'rt nuqtali shakl deb ataladi. Ushbu raqamlash sxemasi tarmoqdagi 4Ggacha bo'lgan manzillarni qo'llab-quvvatlaydi. Eng so'nggi IPv6 (IP-versiya 6) ko'proq manzillarni qo'llab-quvvatlaydi.

OK, biz allaqachon bilamizki, mashinalar tarmoqda protokollar orqali bog'lanadi, ularning xilma-xilligi mavjud, ammo bu holda biz eng keng tarqalgan TCP / IP ni qamrab olamiz.

Endi biz kompyuterlar o'rtasida ma'lumotlar qanday uzatilishini bilishimiz kerak.

Bu erda bizga yana bir narsa kerak va u HTTPS / SSLprotokolidir.

HTTPS/SSL

HTTP (HyperText Transfer Protocol)mijoz-server dastur darajasidagi protokol. U odatda TCP/IP ulanishi orqali ishlaydi (HTTP TCP/IP da ishlashi shart emas. U faqat ishonchli transportni nazarda tutadi. Bunday kafolatlarni ta'minlovchi har qanday transport protokollaridan foydalanish mumkin).

Protokolning ikki turi mavjud: HTTP va HTTPS.

HTTPS bir xil, ammo "Xavfsiz" qo'shiladi. Ushbu ikkita protokol bir xil narsa, ma'lumotlarni uzatish uchun ishlatiladi.

Ularning orasidagi asosiy farq ma'lumotlarning harakatlanish usulidir. Agar ma'lumotlar HTTP yordamida uzatilsa, u aniq sayohat qiladi va aloqani to'xtatgan har bir kishi uchun ochiq bo'ladi. Buning o'rniga,HTTPSprotokoli SSL shifrlash yordamida xavfsiz ulanishdan foydalanadi va shuning uchun ma'lumotlar bir joydan ikkinchi joyga xavfsiz o'tadi.

SSL protokoli kompyuteringiz brauzeri va server o'rtasidagi aloqa xavfsiz bo'lishi uchun yaratilgan, SSL ochiq kalit va shaxsiy kalitni yaratadi. shaxsiy kalit serverda saqlanadi va brauzer serverga ma'lumotlarni jo'natmoqchi bo'lganda, server ochiq kalitni yuboradi, bu brauzer ma'lumotni saqlaydigan maydonni aytishga o'xshaydi, keyin esa bu quti yopiladi va qulflanadi. unga qo'yiladi, keyin ma'lumot himoyalangan tarmoq bo'ylab hech kim o'sha qutini ocholmasdan sayohat qiladi, u belgilangan joyga etib borgach, bu holda server, u o'sha qulfning kalitini, ya'ni shaxsiy kalitni o'z ichiga oladi va ochiladi. qutiga kiradi va ma'lumotlarga kiradi va shu bilan jarayonni muvaffaqiyatli yakunlaydi

HTTP

HTTPS/SSL

Boshqacha aytganda, SSL quyidagicha ishlaydi:

  • Kompyuteringiz brauzeri SSL bilan himoyalangan saytga ulanishga harakat qiladi.
  • Brauzer veb-serverdan o'zini aniqlashni so'raydi.
  • Server sizning SSL sertifikatingiz nusxasini brauzerga yuboradi.
  • Brauzer SSL sertifikatining ishonchliligini tekshiradi. Agar shunday bo'lsa, u serverga xabar yuboradi.
  • Server shifrlangan SSL seansini boshlash uchun raqamli imzolangan tasdiqni qaytaradi.
  • Shifrlangan ma'lumotlar brauzer va server o'rtasida taqsimlanadi.

SSL protokoli qanday ma'lumotlarni himoya qiladi?
SSL shifrlash protokoli bilan himoyalangan ma'lumotlar to'plamiga quyidagilar kiradi:

  • Ro'yxatdan o'tish ma'lumotlari: ism, manzil, elektron pochta manzili, telefon raqami
  • Identifikatsiya ma'lumotlari: elektron pochta manzili va parol
  • To'lov ma'lumotlari: kredit karta raqami, bank hisobi
  • Ro'yxatdan o'tish shakllari
  • Mijozlar tomonidan yuklangan hujjatlar
  • SSL sertifikati aloqani o'qish yoki manipulyatsiya qilish mumkin emasligini va shaxsiy ma'lumotlar noto'g'ri qo'llarga tushmasligini kafolatlaydi.

Endi biz aloqa qanday ishlashini va ba'zi protokollarni o'rganganimizdan so'ng, siz o'zingizdan "www.holbertonschool.com" URL manziliga kirish uchun brauzer buni qanday qilishini so'rashingiz kerak. Xo'sh, keling, bilib olaylik.

Biz IP-manzil har bir mashina uchun identifikatsiya raqami ekanligi haqida gapiramiz. agar biz IP manzilli sahifaga kirmoqchi bo'lsak, uni yodlash biz uchun juda qiyin bo'lar edi.

Tasavvur qiling-a, biz o'z telefon raqamlarimizni ham eslay olmaymiz; Biz tashrif buyuradigan har bir veb-saytning IP-manzilini kamroq. Buni hal qilish uchun veb-brauzer Domen nomi xizmatini (DNS) chaqiradigan xizmat bilan bog'lanadi.

Qani boshladik!

DNS -› IP manzil

DNS (domen nomi xizmati) domen nomini IP manzilga (tarqatilgan qidirish jadvallari orqali) tarjima qiladi.

Misol:

Ip = 120.12.34.34-›www.holbertonschool.comga aylanadi

DNS xizmati ushbu IP-ni www.holbertonschool.com kabi inson tilidagi domenga aylantiradi va bu domen dunyoning istalgan nuqtasida joylashgan serverda saqlanadi.

DNS telefon kitobiga o'xshaydi, u erda URL bilan bog'langan IP manzilni aniqlaydi. DNS IP manzilini topish uchun turli usullardan foydalanadi. Birinchi qadam - brauzer keshi tekshiriladi, agar siz ilgari veb-saytga tashrif buyurgan bo'lsangiz, IP-manzil bu erda bir muncha vaqt saqlanadi. Oddiy so'zlar bilan aytganda, so'nggi qo'ng'iroqlarda telefon raqamini tekshirish kabi. Agar u erda topilmasa, u OS keshini tekshiradi, agar u erda topilmasa, omadingiz yo'q - shunchaki hazillashyapti. Keyin DNS hal qiluvchidan yordam so'raydi. Resolver server sizning Internet-provayderingizdan (ISP) boshqa narsa emas. Agar bu erda topilmasa, hal qiluvchi so'rovni ildiz serveriga yuboradi. Ildiz serverlar DNS ierarxiyasining yuqori qismida joylashgan. Ildiz server .COM Top Level Domain (TLD) serverini qayerda joylashtirishni biladi. Agar TLD serveri IP-manzilni bilmasa, u so'rovni vakolatli nom serverlariga yo'naltiradi. Ular domen nomi haqida hamma narsani bilish uchun javobgardirlar. Bu hal qiluvchi (ISP) uchun domen nomi bilan bog'langan IP manzilini olish uchun oxirgi qadamdir. Ushbu bosqichlarning barchasidan o'tgandan so'ng, rezolyutor uni keshda saqlaydi, shunda keyingi safar bularning barchasini o'tkazmasdan manzilni taqdim etishi mumkin. Bilaman, ko'p qadamlar qo'yish kerak edi. Ehtimol, ushbu diagramma buni yaxshiroq tushunishingizga yordam beradi:

Foydalanuvchi o'z brauzerida www.holbertonschool.com domeniga kirganda, birinchi qadam domen bilan bog'liq bo'lgan IP-manzilni qidirishdir, u topilgandan so'ng, brauzer server qayerda joylashganligini va u qaerda bo'lishi mumkinligini allaqachon biladi. HTTPS aloqasi orqali veb-sayt tarkibiga so'rov yuboring.

HTTPS SO'ROQNI OLISH NASABI

GET /home HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.holbertonschool.com
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

FIREWALL

Ammo oldingi rasmda ko'rsatilganidek, so'rov jarayonida biz yo'lda xavfsizlik devori deb nomlangan to'siqni topmadik.

Xavfsizlik devori - bu kiruvchi va chiquvchi tarmoq trafigini kuzatuvchi va tarmoq ma'muri tomonidan belgilanadigan kirishni boshqarish ro'yxati deb ataladigan xavfsizlik qoidalarining belgilangan to'plamiga asoslanib, ma'lum trafikka ruxsat berish yoki blokirovka qilishni hal qiluvchi tarmoq xavfsizligi qurilmasi.

Xavfsizlik devori qoidalari quyidagilarga asoslanadi:

-IP manzillar
- Domen nomlari
- Protokollar
- Dasturlar
- Portlar
- Kalit so'zlar

Xavfsizlik devorlari odatda tarmoq xavfsizlik devorlari yoki xostga asoslangan xavfsizlik devorlari sifatida tasniflanadi. Tarmoq xavfsizlik devorlari - bu kombinatsiya yoki apparat va dasturiy ta'minot, ular umumiy va xususiy tarmoq o'rtasidagi trafikni filtrlaydi. Ular butun tarmoqni himoya qiladi.

Xostga asoslangan xavfsizlik devorlari asosiy kompyuterlarda ishlaydi va ushbu mashinalar ichidagi va tashqaridagi tarmoq trafigini boshqaradi. Boshqacha qilib aytganda, u faqat o'sha kompyuterni himoya qiladi va boshqa hech narsa yo'q.

Bizning so'rovimiz xavfsizlik devori tomonidan qabul qilindi va endi keyingi qadam:

LOAD BALANSER

yuk balansi so'rovni umumiy qayta ishlashni yanada samarali qilish maqsadida bir nechta serverlarga tarqatish uchun mas'uldir. Yuklarni muvozanatlash usullari har bir vazifa uchun javob vaqtini optimallashtirishi mumkin, boshqa hisoblash tugunlari ishlamay qolganda hisoblash tugunlarining notekis ortiqcha yuklanishiga yo'l qo'ymaydi.

Bu, shuningdek, ortiqchalikni ta'minlashda yordam beradi, shuning uchun aytaylik, bitta server klasterda ishlamay qolsa, yuk balanslagichi yukni qolgan serverlar o'rtasida taqsimlaydi.

Yuk balanslagichining ushbu qismida SSL protokoli shifrlangan ma'lumotni tashish ishini tugatadi, chunki u qutining qulfini ochish va uning mazmunini ko'rish uchun kalitga ega, endi u tanlash uchun javobgar bo'ladi. qaysi veb-server sizga so'rov yuboradi.

WEB-SERVER

Biz hozirgacha bajargan HTTPS so'rov jarayoni haqida gapiradigan bo'lsak, biz xavfsizlik devori va yuk balanslagichidan o'tdik, keyingi qadam veb-server bilan aloqa qilishdir.

Sizni biroz yaxshiroq tushunishingiz uchun men siz bilan serverlar haqida gaplashmoqchiman.
Server bu “mijozlar” deb ataladigan boshqa dastur yoki qurilmalar uchun funksionallikni taʼminlovchi kompyuter dasturi yoki qurilma.

Veb-server veb-sahifalarni joylashtiradi, bu World Wide Web (www) ni yaratishga imkon beradi. Har bir veb-sayt bir yoki bir nechta veb-serverlarga ega. Veb-serverning asosiy vazifasi veb-sahifalarni saqlash, qayta ishlash va mijozlarga yetkazib berishdir.

Bu bizning brauzerimizdan boshlangan so'rov jarayonining oxiri.

Endi veb-server ushbu so'rovni javobga aylantirish uchun javobgar bo'ladi, ammo bu nimani anglatadi?

Veb-server so'rovga mos keladigan "html" fayllarini qidiradi.

Javob berish HTTPS NASABI

HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Tue, 28 Feb 2017 01:52:04 GMT
Content-Type: text/html
Content-Length: 3000
Last-Modified: Tue, 21 Feb 2017 07:21:32 GMT
ETag: "58abea7c-1e"
X-Served-By: 03-web-01
Accept-Ranges: bytes

Ushbu shakl yaratiladi va keyin uni so'rovni yuborgan Foydalanuvchiga yuborish uchun yana qadoqlanadi.

Brauzerimizda biz buni ko'ramiz:

Bu veb-sahifaning bosh sahifasidan so'rov yuborilganda sodir bo'ladi, bu bilan bog'liq bo'lgan statik sahifalarni etkazib beradigan veb-server edi, lekin agar so'rovda foydalanuvchi va parol bo'lsa-chi?

Bu erda dastur serveri kiradi.

ILOVA SERVER VA MA'LUMOTLAR BAZASI

Boshqa tomondan, veb-saytingiz juda funktsional yoki interaktiv bo'lsa, foydalanuvchi nomi va parol talab qilinadigan bo'lsa, so'rov boshqa server operatsion tizimi bo'lgan yoki veb-server bilan bir xil serverda joylashgan bo'lishi mumkin bo'lgan dastur serveriga yo'naltiriladi. . Veb-serverdan farqli o'laroq, dastur serverlari World Wide Webning bir qismi bo'lishi shart emas. Uning asosiy maqsadi ilovalarni joylashtirishdir. Misol uchun, siz www.holbertonschool.com so'zini kiritganingizda va ro'yxatdan o'tmoqchi bo'lsangiz yoki foydalanuvchi nomi va parolingiz bilan tizimga kirmoqchi bo'lsangiz, siz o'z ma'lumotlar bazasida login ma'lumotlaringizni saqlaydigan dastur serveriga yo'naltirilasiz. Shu bilan birga, agar sizning Xolberton maktabingizning bosh sahifasida kundalik mavzular mavjud bo'lsa, u ma'lumotlar bazasi tomonidan saqlanadi va yaratiladi.

Bo'ldi shu! oson edi, to'g'rimi?! Bularning barchasi veb-sayt pardalari ortidagi qadamlardir. Ushbu qadamlarning barchasi tashkiliy va funktsional veb-saytga ega bo'lish uchun zarur, agar ulardan birortasi etishmayotgan bo'lsa, siz izlayotgan veb-sayt o'rniga xatolik olasiz.



https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/