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:
- İstifadəçi veb səhifədəki formaya məlumat daxil edir.
- Müştəri tərəfində JavaScript bu məlumatları toplayır (məsələn, JSON obyektində).
- 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ə }); - Server tətbiqi sorğunu alır və onu müvafiq işləyiciyə (kontrollerə) yönləndirir.
- Kontroller sorğunun gövdəsindən məlumatları çıxarır.
- Məlumatlar təhlükəsizlik və düzgünlük üçün server tərəfində yoxlanılır və sanitizasiya edilir.
- 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).
- Kontroller məlumatlara giriş səviyyəsi ilə (Data Access Layer - DAL) və ya ORM (Object-Relational Mapper) ilə əlaqə qurur.
- 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'; - Məlumat bazası əməliyyatı yerinə yetirir və nəticəni (uğur və ya xəta) geri qaytarır.
- DAL/ORM nəticəni kontrollerə ötürür.
- 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.).
- Server cavabı müştəriyə göndərir.
- 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.