Junior
Sorğu parametrlərini (query) sorğu bədəninin (body) yerinə istifadə edə bilərikmi?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, amma bu, sorğu növündən və ötürülən məlumatlardan asılıdır.
Sorğu Parametrləri (Query Parameters)
- URL-də
?işarəsindən sonra açar=dəyər cütləri şəklində,&ilə ayrılmış şəkildə ötürülür. - Əsasən GET sorğuları üçün məlumatların filtrlənməsi, sıralanması və səhifələnməsi üçün istifadə olunur (məsələn:
/api/items?category=electronics&sort=price). - Çox brauzer və serverdə ölçü məhdudiyyətləri var.
- Server loglarında və brauzer tarixçəsində görünür (həssas məlumatlar üçün potensial təhlükəsizlik problemi).
- Asanlıqla cache edilə bilər.
Sorğu Bədəni (Request Body)
- HTTP sorğusunun bədənində ötürülür.
- Çox vaxt POST, PUT, PATCH sorğuları üçün istifadə olunur, böyük həcmdə məlumatların ötürülməsi, resursların yaradılması və ya yenilənməsi üçün (məsələn: forma göndərilməsi, JSON obyekti).
- Çəki üçün sərt limitlər yoxdur (server konfiqurasiyaları daxilində).
- URL-də görünmür, bu da onu həssas məlumatların ötürülməsi üçün daha uyğun edir.
- Brauzerlər tərəfindən standart olaraq cache edilmir.
- Müxtəlif məlumat tiplərini (JSON, XML, formalar) saxlaya bilər.
Fərqlər cədvəli:
| Kriteriya | Sorğu Parametrləri | Sorğu Bədəni |
|---|---|---|
| Yerləşmə | URL (? sonrası) |
HTTP sorğusunun bədəni |
| Nümunə metodlar | GET | POST, PUT, PATCH |
| İstifadə sahəsi | Filtrləmə, sıralama, səhifələmə | Resursların yaradılması/yenilənməsi, böyük məlumatların ötürülməsi |
| Həcmi | Məhdud | Demək olar ki, limitsiz |
| Görünüş | URL-də görünür | URL-də görünmür |
| Cache | Asan cache edilə bilər | Cache edilmir (standart) |
| Təhlükəsizlik | Həssas məlumatlar üçün daha az uyğundur | Həssas məlumatlar üçün daha uyğundur |
Nə zaman istifadə etmək:
- Sorğu Parametrləri yerinə Body: nəzəri olaraq POST, PUT və digər metodlar üçün mümkündür, lakin tövsiyə edilmir əsas məlumatların ötürülməsi üçün. Bu, HTTP metodlarının semantikası pozula bilər və işləməyi çətinləşdirə bilər. Çox nadir hallarda istifadə olunur, əsasən çox sadə hallarda və ya xüsusi memarlıq üçün. Böyük və ya strukturlaşdırılmış məlumatların sorğu sətiri vasitəsilə ötürülməsi məsləhət deyil.
- Body yerinə Sorğu Parametrləri: GET sorğuları üçün mümkün deyil, çünki HTTP standartı GET üçün bədən semantikası ilə müəyyən edilmir. Digər metodlar (POST, PUT və s.) üçün, bədən məlumatların ötürülməsi üçün standart üsuldur və strukturlaşdırılmış və ya böyük həcmdə məlumatların ötürülməsi üçün üstünlük təşkil edir, həmçinin məlumatlar həssasdırsa.
Əksər hallarda, qəbul edilən konvensiyalara riayət etmək tövsiyə olunur: GET üçün sorğu parametrlərindən istifadə etmək filtrləmək/kimlikləşdirmək üçün və bədən istifadə etmək məlumat göndərmək üçün dəyişən sorğularda (POST, PUT, PATCH).