Sobes.tech
Junior

Müştəri və server arasında qarşılıqlı əlaqə necə baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Əlaqə ümumiyyətlə "müştəri-server" modeli ilə HTTP/HTTPS protokolu vasitəsilə baş verir:

  1. Müştəri (brauzer) sorğu göndərir. Sorğu aşağıdakılardan ibarətdir:
    • Metod (GET, POST, PUT, DELETE və s.)
    • Sorğulanan resursun URL-si
    • Başlıqlar (müştəri haqqında məlumatlar, məlumat növü, icazə və s.)
    • Sorğu gövdəsi (POST kimi metodlar üçün, məlumatlarla)
  2. Server sorğunu emal edir.
    • Sorğunu alır və analiz edir.
    • Resurs və əməliyyatı müəyyən edir.
    • Lazım gələrsə, məlumatlara çıxış edir (məlumat bazası, fayl sistemi və s.).
    • Cavab hazırlayır.
  3. Server cavab göndərir. Cavab aşağıdakılardan ibarətdir:
    • HTTP status kodu (200 OK, 404 Not Found, 500 Internal Server Error və s.)
    • Cavab başlıqları (məzmun tipi, keşik, kukilər və s.)
    • Cavab gövdəsi (HTML, JSON, XML, şəkil və s.)
  4. Müştəri cavabı alır və emal edir.
    • Cavabı analiz edir.
    • Məzmunu göstərir (məsələn, HTML səhifəsini render edir).
    • JavaScript-i icra edir, məlumatları emal edir.

GET sorğusunun nümunəsi:

GET /api/users HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (...)
Accept: application/json

GET sorğusuna cavab nümunəsi:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 150
Cache-Control: max-age=3600

[
  { "id": 1, "name": "Alice" },
  { "id": 2, "name": "Bob" }
]

Daha interaktiv əlaqə üçün digər mexanizmlər də istifadə olunur:

  • WebSocket: Davamlı iki tərəfli əlaqə, real vaxtda məlumat mübadiləsi üçün (məsələn, söhbətlər).
  • Server-Sent Events (SSE): Serverdən müştəriyə tək tərəfli əlaqə, yeniləmələri axın şəklində almaq üçün.
  • Polling: Müştəri mütəmadi olaraq serverə sorğu göndərir, yeniləmələri yoxlamaq üçün.
  • Long Polling: Müştəri sorğu göndərir, server onu açıq saxlayır, məlumatlar gələnə və ya vaxt aşımı başa çatana qədər, sonra cavab göndərir.

Veb tətbiqlər kontekstində, brauzer həmçinin ilkin HTML-i aldıqdan sonra CSS, JS, şəkil kimi resursları ayrıca HTTP sorğuları ilə yükləyir. JavaScript də API-yə (AJAX) dinamik olaraq əlavə sorğular göndərə bilər, bu da səhifəni yeniləmədən məlumat almağa və göndərməyə imkan verir.