Middle
Kuidas kliendis tehtud muudatused jõuavad serverisse ja salvestatakse andmebaasi?
sobes.tech AI
Vastus AI-lt
Üldiselt saadetakse kasutaja tehtud muudatused veebirakenduses (kliendi poolel) serverile HTTP-päringuga.
HTTP-päringute tüübid:
- POST: kasutatakse uue ressursi loomise või andmete saatmise jaoks töötlemiseks serveris. Sageli kasutatakse vormide andmete jaoks.
- PUT: kasutatakse olemasoleva ressursi uuendamiseks. Edastatakse kogu ressursi olek.
- PATCH: kasutatakse osalise ressursi uuendamiseks. Edastatakse ainult muudetud väljad.
- DELETE: kasutatakse ressursi kustutamiseks.
Andmete voogude näide:
- Kasutaja sisestab andmed veebilehe vormi.
- Klient poolel kogub JavaScript need andmed (näiteks JSON-objektina).
- Toimub HTTP-päring (näiteks POST või PUT) serveri API kindlale endpointile. Andmed lisatakse päringu kehasse.
// Andmete saatmise näide fetch API kasutades const data = { username: 'newuser', email: 'newuser@example.com' }; fetch('/api/users', { method: 'POST', // või 'PUT', 'PATCH' headers: { 'Content-Type': 'application/json', // muud päised, näiteks autoriseerimiseks }, body: JSON.stringify(data), // JavaScript objekti teisendamine JSON-stringiks }) .then(response => response.json()) // vastuse analüüs JSON-ks .then(data => { console.log('Edu:', data); // Eduka vastuse töötlemine }) .catch((error) => { console.error('Viga:', error); // Vea töötlemine }); - Serverirakendus saab päringu, suunab selle vastavale töötlejale (kontrollerile).
- Kontroller võtab andmed päringu kehalt.
- Andmed valideeritakse ja sanitiseeritakse serveri poolel, et tagada turvalisus ja õigsus.
- Ärilogika töötleb saadud andmeid (näiteks kontrollib kasutajanime unikaalsust, teeb vajalikud arvutused).
- Kontroller suhtleb andmejuurdepääsukihiga (Data Access Layer - DAL) või ORM-iga (Object-Relational Mapper).
- DAL/ORM genereerib SQL-päringu või kasutab andmebaasi meetodeid andmete salvestamiseks, uuendamiseks või kustutamiseks vastavas tabelis(-ites).
-- SQL INSERT näide INSERT INTO users (username, email) VALUES ('newuser', 'newuser@example.com'); -- SQL UPDATE näide UPDATE users SET email = 'updated_email@example.com' WHERE username = 'newuser'; - Andmebaas täidab operatsiooni ja tagastab tulemuse (edu või viga).
- DAL/ORM edastab tulemuse kontrollerile.
- Kontroller koostab vastuse kliendile (näiteks JSON koos kinnitusega edust, HTTP staatusekoodiga 200 OK või veaga koos staatusekoodiga 400 Bad Request, 500 Internal Server Error jms.).
- Server saadab vastuse kliendile.
- JavaScript kliendipoolselt töötleb vastust (näiteks kuvab edukalt salvestamise teate, uuendab kasutajaliidest või näitab viga).
Kasutatavad tehnoloogiad sõltuvad konkreetsest tehnoloogiast:
- Kliendi: HTML, CSS, JavaScript (React, Angular, Vue.js jms)
- Server: Frameworks (Node.js/Express, Python/Django/Flask, Ruby/Rails, Java/Spring, PHP/Laravel jms)
- Andmebaas: SQL (PostgreSQL, MySQL, SQL Server), NoSQL (MongoDB, Cassandra)
Kogu protsess peab olema turvaline (HTTPS, autentimine, autoriseerimine, valideerimine) ning suutma käsitleda võimalikke vigu igal etapil.