HTTP haqqında bilməli olduğunuz hər şey
HTTP, hər bir veb inkişaf etdiricisinin bilməli olduğu protokoldur, çünki o, bütün vebin işləməsini təmin edir. HTTP-ni bilmək, şübhəsiz ki, daha yaxşı tətbiqlər inkişaf etdirməyə kömək edəcəkdir.
Bu məqalədə, HTTP-nin nə olduğunu, necə meydana gəldiyini, bu günki vəziyyətini və necə buraya gəldiyimizi müzakirə edəcəyəm.
HTTP Nədir?
İlk növbədə, HTTP nədir? HTTP, TCP/IP əsasında olan bir tətbiq qatının əlaqə protokoludur və müştərilərlə serverlər arasındakı ünsiyyəti standartlaşdırır. O, vebdəki məzmunun necə tələb edildiyini və ötürüldüyünü müəyyən edir. Tətbiq qatının protokolu demək istədiyim odur ki, bu, sadəcə hostların (müştəri və server) necə ünsiyyət qurduğunu standartlaşdıran bir abstraksiya qatıdır. HTTP özü, müştəri ilə server arasında sorğu və cavabların ötürülməsini təmin etmək üçün TCP/IP-yə əsaslanır. Default olaraq TCP port 80 istifadə olunur, lakin digər portlar da istifadə edilə bilər. HTTPS isə port 443 istifadə edir.
HTTP/0.9 – İlk Versiya (1991)
HTTP-nin ilk sənədləşdirilmiş versiyası HTTP/0.9 idi və 1991-ci ildə təqdim edilmişdir. Bu, ən sadə protokoldur; tək bir metod olan GET-ə malikdir. Müştəri serverdəki bir veb səhifəyə daxil olmaq istədikdə, aşağıdakı sadə sorğunu göndərirdi:
GET /index.html
Serverdən cavab isə belə görünərdi:
(response body)
(connection closed)
Bu o deməkdir ki, server sorğunu alacaq, HTML cavabını göndərəcək və məzmun ötürüldükdən sonra əlaqəni bağlayacaq. Burada:
• Başlıqlar yox idi
• GET tək yeganə metod idi
• Cavab yalnız HTML olmalı idi
HTTP/0.9 protokolu həqiqətən yalnız gələcək üçün bir addım idi.
HTTP/1.0 – 1996
1996-cı ildə HTTP/1.0 versiyası təqdim olundu və əvvəlki versiyanı əhəmiyyətli şəkildə yaxşılaşdırdı. HTTP/0.9 ilə müqayisədə HTTP/1.0 artıq digər cavab formatları ilə (məsələn, şəkillər, video faylları, düz mətn və s.) işləyirdi. Daha çox metod əlavə edildi (POST və HEAD kimi), sorğu/cavab formatları dəyişdi, HTTP başlıqları həm sorğularda, həm də cavablarda əlavə olundu, status kodları əlavə olundu, xarakter dəstləri dəstəkləndi, çox hissəli tiplər, avtorizasiya, cache, məzmun kodlaşdırılması və bir çox başqa xüsusiyyətlər əlavə edildi.
HTTP/1.1 – 1997
HTTP/1.0-ın üzərində bir çox yaxşılaşdırmalar edildi və HTTP/1.1 versiyası 1999-cu ildə təqdim olundu. HTTP/1.1-ə daxil edilən əsas yeniliklər:
• Yeni HTTP metodları (PUT, PATCH, OPTIONS, DELETE) əlavə olundu
• Host adı identifikasiyası əlavə edildi
• Davamlı əlaqələr təqdim edildi ki, bu da bir əlaqə üzərində birdən çox ardıcıl sorğunun göndərilməsinə imkan verir.
• Pipelining dəstəkləndi
• Caching, Byte Ranges və karakter dəstləri dəstəyi əlavə edildi
SPDY – 2009
Google, veb səhifələrinin sürətini artırmaq və təhlükəsizliyi yaxşılaşdırmaq üçün alternativ protokollar üzərində təcrübələrə başladı. Bu təcrübələr nəticəsində 2009-cu ildə SPDY təqdim edildi. SPDY, HTTP üzərində tətbiq olunan bir qat idi və HTTP protokolunun bəzi nöqsanlarını aradan qaldırmağa çalışırdı. 2015-ci ildə SPDY, HTTP/2-yə daxil edildikdən sonra rəsmi olaraq dəstəklənmədi.
HTTP/2 – 2015
HTTP/2, aşağı gecikmə ilə məzmun ötürülməsini təmin etmək üçün hazırlanmış yeni bir protokoldur. HTTP/2-nin əsas xüsusiyyətləri:
• Binary Protokol – HTTP/2, HTTP/1.x-də mövcud olan gecikmə problemini həll etmək üçün binar protokol kimi işləyir.
• Multiplexing – Bir əlaqə üzərində birdən çox HTTP sorğusunun asinxron şəkildə göndərilməsi.
• Server Push – Server, müştəri bir resurs tələb etmədən onu müştəriyə göndərir.
• Header Compression – HTTP başlıqlarının sıxılması.
Nəticə
HTTP/2-nin əsas məqsədi şəbəkə gecikməsini azaltmaq və veb səhifələrinin sürətini artırmaqdır. Yeni xüsusiyyətlər və təkmilləşdirmələr HTTP-nin performansını əhəmiyyətli dərəcədə artırmışdır. Bu, həm də veb inkişaf etdiricilərinə daha sürətli və təhlükəsiz veb tətbiqləri yaratmaq üçün geniş imkanlar təmin edir.
Pulsuz digər resurslar:
HTTP/3 İndi Standartdır: Niyə İstifadə Etmək və Necə Başlamaq
Növbəti mövzular:
Veb brauzerləri və onların necə işlədiyi?
Açar sözlər: HTTP, HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2, HTTPS, TCP/IP, Veb inkişafı, Server, Müştəri, HTTP metodları, Protokollar, Web serverlər, Pipelining, Server Push, Başlıq sıxılması, Davamlı əlaqələr, Host adı identifikasiyası, Caching, SPDY, Latency (Gecikmə), Binary protokol
Bir cavab yazın