HTTP başlıqlarının axtarışı
HTTP başlıqlarının axtarışı adi GET sorğusu zamanı URL-in qaytardığı bütün HTTP cavab başlıqlarını əldə edən pulsuz alətdir.
HTTP cavab başlıqları nədir?
HTTP cavab başlıqları veb-serverin HTML səhifəsi, şəkil və ya JSON sənədi kimi cavab məzmunundan əvvəl göndərdiyi metadatadır. Bu başlıqlar müştəriyə cavabı necə şərh etməli, keşləməli, yönləndirməli və ya qorumalı olduğunu bildirir.
HTTP/1.x cavabı adətən HTTP status sətri ilə başlayır, sonra başlıqlar gəlir. HTTP/2 və HTTP/3-də eyni status :status psevdobaşlığında ötürülür. Texniki baxımdan HTTP/1.x status sətri başlıqlardan ayrıdır. Bununla belə, sorğunun uğurlu olub-olmadığını göstərdiyi üçün çox vaxt onlarla birlikdə təqdim edilir. 200 statusu resursun qaytarıldığını, 301 və ya 302 yönləndirməni, 404 resursun tapılmadığını, 500 isə server tərəfində xəta baş verdiyini bildirir.
Başlıqlar əsas serverdən, əks proksidən və ya Cloudflare kimi məzmun çatdırma şəbəkəsindən gələ bilər. Cavab bu sistemlərdən keçərkən bəzi başlıqlar əlavə oluna və ya silinə bilər. Buna görə nəticə yalnız səhifəni yaradan tətbiq haqqında məlumat verməyə bilər.
HTTP başlıqlarını necə yoxlayım?
Yoxlamaq istədiyin URL-i sxemlə birlikdə tam daxil et, məsələn, https://www.example.com/account. Alət öz serverindən adi GET sorğusu göndərir və həmin URL-dən aldığı HTTP başlıqlarını qaytarır.
Cavab başlıqlarını dəqiq müqayisə etmək üçün araşdırmaq istədiyin URL variantlarını olduğu kimi yoxla. http://example.com, https://example.com və https://www.example.com ünvanlarının başlıqları fərqli ola bilər. Çünki hər ünvanın öz yönləndirmələri, keşləmə qaydaları və server konfiqurasiyası ola bilər.
URL sintaksisi də sorğuya təsir edir:
- Boşluqlar URL-də birbaşa istifadə oluna bilən simvollar deyil və adətən faiz kodlaşdırması tələb edir. Yol hissəsində bunun üçün çox vaxt %20 işlədilir.
- ? sorğu hissəsini başladır. & və = isə forma tipli sorğu kodlaşdırmalarında geniş istifadə olunur, lakin hər sorğu sətrində eyni funksiyanı daşımır.
- Diakritik işarəli və latın qrafikasında olmayan domen adları IDNA ilə emal edilir və adətən xn-- ilə başlayan ASCII A-label formatında göstərilir. Yol simvolları isə, bir qayda olaraq, əvvəlcə UTF-8 baytlarına çevrilir, sonra faizlə kodlaşdırılır.
- # ilə başlayan fraqment brauzer tərəfindən emal olunur və HTTP sorğusunda göndərilmir.
- URL uzunluğu üçün universal maksimum hədd yoxdur. Çox uzun URL-lər server, proksi və ya tətbiq tərəfindən rədd edilə bilər.
HTTP başlıqları nəticəsini necə oxuyum?
Araşdırdığın problemlə əlaqəli başlıqları nəzərdən keçir. Başlıq adlarında böyük və kiçik hərf fərqi nəzərə alınmır, amma onların dəyərlərinin sintaksisində bu fərq əhəmiyyətli ola bilər.
| Nəticə sahəsi | Nəyi göstərir |
|---|---|
| Location | Yönləndirmənin hədəf ünvanını göstərir. Adətən 3xx statusu ilə birlikdə gəlir. |
| Content-Type | Qaytarılan media növünü göstərir, məsələn, text/html, application/json və ya image/png. |
| Content-Length | Server bu məlumatı təqdim etdikdə cavab məzmununun baytla göstərilən elan edilmiş ölçüsünü bildirir. Hissələrə bölünərək ötürülən və ya dinamik yaradılan cavablarda bu başlıq olmaya bilər. |
| Cache-Control and Expires | Keşləmə təlimatlarını və göstərilibsə, cavabın etibarlılıq müddətinin bitmə vaxtını bildirir. |
| Age | Keşlənmiş cavabın yaradılmasından və ya son yoxlanılmasından keçən hesablanmış müddəti saniyələrlə göstərir. Buraya yuxarı səviyyəli keşlərdə keçən vaxt da daxil ola bilər. |
| ETag and Last-Modified | Müştərilərin keşlənmiş məzmunun dəyişib-dəyişmədiyini yoxlamaq üçün istifadə edə biləcəyi doğrulayıcılardır. |
| Set-Cookie | Secure, HttpOnly və SameSite kimi atributlarla birlikdə kukinin saxlanılması sorğusudur. |
| Content-Security-Policy | Səhifənin hansı skriptləri, üslubları, freymləri və digər resursları yükləyə biləcəyini məhdudlaşdıran brauzer qaydalarıdır. |
| Strict-Transport-Security | Uyğun brauzerlərə göstərilən müddət ərzində HTTPS istifadə etməyi bildirən təlimatdır. |
Digər başlıqlar konkret tətbiqə aid ola bilər. Məsələn, Access-Control-Allow-Origin brauzerin müxtəlif mənbələr arasında göndərdiyi sorğular vasitəsilə hansı mənbələrin cavabı oxuya biləcəyini müəyyənləşdirir. Server başlığında proqram təminatının və ya proksinin adı göstərilə bilər. Lakin administratorlar onu dəyişə və ya silə bildiyi üçün bu məlumat əsas platformanın etibarlı sübutu deyil.
Praktik nasazlıq axtarışı nümunələri
Başlıqları yoxlamağın geniş yayılmış səbəblərindən biri yönləndirmə problemidir. Tutaq ki, https://example.com/old-page ünvanı Location: https://example.com/new-page başlığı ilə 301 statusu qaytarır. Bu, serverin müştəriyə yeni ünvanı sorğulamağı bildirdiyi deməkdir. Hər hədəfi ayrıca və ardıcıl yoxlamaq yönləndirmə dövrəsini və ya HTTP ilə HTTPS arasında gözlənilməz keçidi aşkar edə bilər.
Cloudflare və ya başqa CDN arxasında köhnə səhifə göstərilirsə, Cache-Control, Age, ETag və provayderə məxsus keş başlıqlarını yoxla. Böyük Age dəyəri konkret vasitəçinin cavabı nə qədər saxladığını deyil, yuxarı səviyyəli keşlərdə keçən vaxt da daxil olmaqla keşlənmiş cavabın hesablanmış yaşını göstərir. Bu dəyər bütün regional keşlərdə eyni versiyanın saxlandığını sübut etmir.
API server tərəfində işləyən skriptdə işləyir, amma brauzerdə xəta verirsə, Content-Type və Access-Control-Allow-Origin daxil olmaqla CORS cavab başlıqlarını yoxla. text/html qaytaran JSON son nöqtəsi əslində xəta səhifəsi və ya giriş ekranı təqdim edə bilər. Server 200 statusu qaytarsa belə, mənbələrarası icazənin olmaması brauzerin cavaba çıxışı bloklamasına səbəb ola bilər.
Başlıqlar əlçatmaz görünən saytdakı problemi araşdırmağa da kömək edə bilər. 503 cavabı müvəqqəti server və ya yuxarı səviyyəli sistem nasazlığına işarə edir, 404 isə sorğulanan yolun tapılmadığını bildirir. Ancaq başlıqlarla hər nasazlığı müəyyənləşdirmək mümkün deyil. HTTP cavabı yaranmazdan əvvəl DNS həlli, TCP bağlantısı və ya TLS razılaşdırılması uğursuz olarsa, yoxlanacaq cavab başlıqları olmaya bilər. Ping bağlantını ayrıca yoxlamağa, HTTP/2 Yoxlayıcısı isə protokol dəstəyini yoxlamağa imkan verir.
Düzgün başlıq nəticəsi niyə yenə də səhv görünə bilər?
Keşlər, DNS qeydləri və sorğu konteksti iki sorğunu fərqli cavablara yönəldə bildiyi üçün düzgün nəticə brauzerdə gördüyündən fərqlənə bilər. HTTP başlıqlarının axtarışı serverdə işləyir. Buna görə alət başqa CDN qovşağına qoşula və ya yaxın vaxtda dəyişdirilmiş DNS qeydini yerli şəbəkəndən daha tez, yaxud daha gec həll edə bilər.
Brauzerlər öz kukilərini, qəbul etdikləri məzmun növlərini, dilləri və keş doğrulayıcılarını da göndərir. Buna görə istifadəçinin daxil olduğu WordPress səhifəsi anonim server sorğusundan fərqli keş qaydaları qaytara bilər. Coğrafi marşrutlaşdırma və bot idarəetmə sistemləri də mənbə şəbəkəsinə və ya sorğu başlıqlarına əsasən cavabı dəyişə bilər.
DNS dəyişdirildikdən sonra keşləyən resolverlər TTL müddəti bitənədək əvvəlki qeyddən istifadə etməyə davam edə bilər. Trafik yeni serverə çatdıqda belə, köhnə CDN obyekti və ya brauzer keşi əvvəlki məzmunu qaytara bilər. Həll olunan hostu ayrıca yoxla, uyğun hallarda keşləri təmizlə və bütün host adlarının eyni konfiqurasiyadan istifadə etdiyini düşünmək əvəzinə URL-i dəqiq formada müqayisə et.
Tez-tez verilən suallar
Bu alət sorğu başlıqlarını da göstərir?
Xeyr. Alət adi GET sorğusu üçün URL-in qaytardığı cavab başlıqlarını əldə edir. Sorğu başlıqları serverə göndərilən metadatadır. Onları tam yoxlamaq üçün ayrıca brauzer tərtibatçı alətlərindən, server jurnallarından və ya komanda sətri müştərisindən istifadə etmək lazımdır.
Alətə daxil etdiyim URL-lər məxfi qalır?
Axtarış serverdə aparılır. Daxil etdiyin məlumat HTTPS üzərindən həmin serverə ötürülür və saxlanılmır. Parol, giriş tokeni və ya həssas sorğu parametrləri olan URL-ləri daxil etmə. Sorğu göndərildikdə bu dəyərləri hədəf server də qəbul edəcək.
HTTP başlıqları sertifikat xəbərdarlığının səbəbini göstərə bilər?
Adətən təkbaşına göstərə bilməz. TLS bağlantısı HTTP cavabı göndərilməzdən əvvəl qurulur. Buna görə vaxtı bitmiş sertifikat, host adının uyğunsuzluğu və ya etibar edilməyən sertifikat verəni heç bir başlığın qaytarılmamasına səbəb ola bilər. Brauzer xəbərdarlığı səhifə yüklənməzdən əvvəl görünürsə, sertifikatı və onun zəncirini ayrıca yoxla.
Niyə bir neçə Set-Cookie başlığı qaytarılır?
Cavab birdən çox kuki təyin edə bilər və hər kuki üçün ayrıca Set-Cookie sahəsi istifadə olunur. Onları vergüllə ayrılmış siyahı kimi birləşdirmə, çünki kukilərin bitmə tarixlərinin özündə də vergül ola bilər. Hər kukinin domenini, yolunu və təhlükəsizlik atributlarını ayrıca nəzərdən keçir.
Nəticəni curl ilə müqayisə edə bilərəm?
Bəli. curl -D - https://example.com/ -o /dev/null kimi komanda cavab məzmununu nəzərə almadan başlıqları çap edir. Curl versiyası, sorğu başlıqları, yönləndirmə parametrləri və şəbəkə məkanı fərqli nəticə yarada bilər. Buna görə fərqi server nasazlığı saymazdan əvvəl həmin şərtləri eyniləşdir.
Populyar alətlər
Mətnin ölçüsünü baytlarda (B), kilobaytlarda (KB) və ya meqabaytlarda (MB) əldə edin.
Ping alətimizlə istənilən vebsaytın, serverin və ya portun vəziyyətini və cavab müddətini tez və səmərəli şəkildə yoxlayın.
Digily Link-in IP axtarış aləti istənilən IP ünvanı haqqında ətraflı məlumat təqdim edir. Hərtərəfli IP məlumatı əldə etmək üçün bu pulsuz onlayn xidmətdən istifadə edin.
WhatsApp linkinizi dərhal və pulsuz yaradın. Fərdi mesaj əlavə edin və hesab açmadan və kod yazmadan bir kliklə söhbətə başlayın.