Sobes.tech
Middle

Müştəri tərəfində edilən dəyişikliklər necə serverə göndərilir və verilənlər bazasında saxlanılır?

sobes.tech Süni İntellekt

AI-dan cavab

Ümumiyyətlə, istifadəçi tərəfindən veb tətbiqində edilən dəyişikliklər (müştəri tərəfində) HTTP sorğusu vasitəsilə serverə göndərilir.

HTTP sorğularının növləri:

  • POST: Yeni resurs yaratmaq və ya server tərəfindən işlənmək üçün məlumat göndərmək üçün istifadə olunur. Tez-tez formadan alınan məlumatlar üçün tətbiq edilir.
  • PUT: Mövcud resursu yeniləmək üçün istifadə olunur. Resursun tam vəziyyəti göndərilir.
  • PATCH: Resursu qismən yeniləmək üçün istifadə olunur. Yalnız dəyişdirilən sahələr göndərilir.
  • DELETE: Resursu silmək üçün istifadə olunur.

Məlumat axını nümunəsi:

  1. İstifadəçi veb səhifədəki formaya məlumat daxil edir.
  2. Müştəri tərəfində JavaScript bu məlumatları toplayır (məsələn, JSON obyektində).
  3. Müəyyən API endpoint-ə HTTP sorğusu (məsələn, POST və ya PUT) göndərilir. Məlumatlar sorğunun gövdəsinə əlavə olunur.
    // Məlumatların serverə göndərilməsi nümunəsi fetch API istifadə edilərək
    const data = { username: 'newuser', email: 'newuser@example.com' };
    
    fetch('/api/users', {
      method: 'POST', // və ya 'PUT', 'PATCH'
      headers: {
        'Content-Type': 'application/json',
        // Digər başlıqlar, məsələn, autentifikasiya üçün
      },
      body: JSON.stringify(data), // JavaScript obyektini JSON-ə çevirir
    })
    .then(response => response.json()) // Serverdən cavabı JSON kimi parse edir
    .then(data => {
      console.log('Uğurlu:', data);
      // Uğurlu cavabın işlənməsi
    })
    .catch((error) => {
      console.error('Xəta:', error);
      // Xəta ilə işləmə
    });
    
  4. Server tətbiqi sorğunu alır və onu müvafiq işləyiciyə (kontrollerə) yönləndirir.
  5. Kontroller sorğunun gövdəsindən məlumatları çıxarır.
  6. Məlumatlar təhlükəsizlik və düzgünlük üçün server tərəfində yoxlanılır və sanitizasiya edilir.
  7. Biznes loqikası alınan məlumatları işləyir (məsələn, istifadəçi adının unikal olub-olmadığını yoxlayır, lazım olan hesablamaları edir).
  8. Kontroller məlumatlara giriş səviyyəsi ilə (Data Access Layer - DAL) və ya ORM (Object-Relational Mapper) ilə əlaqə qurur.
  9. DAL/ORM SQL sorğusu yaradır və ya məlumat bazası metodlarından istifadə edir və məlumatların saxlanması, yenilənməsi və ya silinməsi üçün.
    -- SQL INSERT nümunəsi
    INSERT INTO users (username, email) VALUES ('newuser', 'newuser@example.com');
    
    -- SQL UPDATE nümunəsi
    UPDATE users SET email = 'updated_email@example.com' WHERE username = 'newuser';
    
  10. Məlumat bazası əməliyyatı yerinə yetirir və nəticəni (uğur və ya xəta) geri qaytarır.
  11. DAL/ORM nəticəni kontrollerə ötürür.
  12. Kontroller müştəri üçün cavab hazırlayır (məsələn, uğur təsdiqləyici JSON, HTTP status kodu 200 OK və ya xəta ilə birlikdə 400 Bad Request, 500 Internal Server Error və s.).
  13. Server cavabı müştəriyə göndərir.
  14. JavaScript müştəri tərəfində cavabı işləyir (məsələn, uğurlu yadda saxlamanı göstərir, UI-ni yeniləyir və ya xəta mesajı göstərir).

İstifadə olunan texnologiyalar konkret yığma görə dəyişir:

  • Müştəri: HTML, CSS, JavaScript (React, Angular, Vue.js və s.)
  • Server: Frameworklər (Node.js/Express, Python/Django/Flask, Ruby/Rails, Java/Spring, PHP/Laravel və s.)
  • Məlumat bazası: SQL (PostgreSQL, MySQL, SQL Server), NoSQL (MongoDB, Cassandra)

Bütün proses təhlükəsiz olmalıdır (HTTPS, autentifikasiya, icazə, yoxlama) və hər mərhələdə mümkün olan səhvləri işləməlidir.