Middle
Чӣ гуна тағиротҳое, ки дар мизоҷ анҷом дода шудаанд, ба сервер интиқол ёфта, дар базаи додаҳо сабт мешаванд?
sobes.tech AI
Ҷавоб аз AI
Тавре, тағйиротҳое, ки корбар дар веб-барнома (дар тарафи муштарӣ) мекунад, тавассути дархости HTTP ба сервер фиристода мешаванд.
Намудҳои дархости HTTP:
- POST: Барои эҷоди манбаи нав ё фиристодани маълумот барои коркард ба сервер истифода мешавад. Баъзан барои маълумот аз формҳо истифода мешавад.
- PUT: Барои навсозии манбаи мавҷуда истифода мешавад. Ҳолати пурраи манбаъ интиқол дода мешавад.
- PATCH: Барои навсозии қисман манбаъ истифода мешавад. Танҳо майдонҳои тағирёфта интиқол дода мешаванд.
- DELETE: Барои нобуд кардани манбаъ истифода мешавад.
Маслиҳати раванд:
- Корбар маълумотро дар формаи веб ворид мекунад.
- JavaScript дар тарафи муштарӣ ин маълумотҳоро ҷамъоварӣ мекунад (масалан, дар объект JSON).
- Як дархости HTTP (масалан, POST ё PUT) ба нуқтаи охири API муайяншудаи сервер ирсол мешавад. Маълумот ба ҷисми дархост пайваст карда мешавад.
// Масали фиристодани маълумот ба сервер бо истифода аз fetch API const data = { username: 'newuser', email: 'newuser@example.com' }; fetch('/api/users', { method: 'POST', // ё 'PUT', 'PATCH' headers: { 'Content-Type': 'application/json', // Сарлавҳаҳои дигар, масалан, барои тасдиқ }, body: JSON.stringify(data), // Табдил додани объект JavaScript ба JSON }) .then(response => response.json()) // Таҳлили ҷавоби сервер ба JSON .then(data => { console.log('Муваффақият:', data); // Коркарди ҷавоби муваффақ }) .catch((error) => { console.error('Хатогӣ:', error); // Коркарди хатогӣ }); - Барномаи серверӣ дархостро мегирад ва ба коркардкунандаи мувофиқ (контроллер) мефиристад.
- Контроллер маълумотҳоро аз ҷисми дархост мебарорад.
- Маълумотҳо дар сатҳи сервери тасдиқ ва тоза карда мешаванд барои таъмини бехатарӣ ва дурустӣ.
- Логикаи бизнес маълумотҳоро коркард мекунад (масалан, беназм будани номи корбарро санҷида, ҳисобҳои заруриро анҷом медиҳад).
- Контроллер бо сатҳи дастрасӣ ба маълумот (Data Access Layer - DAL) ё ORM (Object-Relational Mapper) ҳамкорӣ мекунад.
- DAL/ORM SQL-зуро ё усулҳои пойгоҳи додаҳоро барои нигоҳдорӣ, навсозӣ ё нобуд кардани маълумот дар ҷадвал(ҳо) мебарорад.
-- Масали SQL INSERT INSERT INTO users (username, email) VALUES ('newuser', 'newuser@example.com'); -- Масали SQL UPDATE UPDATE users SET email = 'updated_email@example.com' WHERE username = 'newuser'; - Базаи додаҳо амалиётро иҷро мекунад ва натиҷаро (муваффақ ё хатогӣ) бармегардонад.
- DAL/ORM натиҷаро ба контроллер мефиристад.
- Контроллер ҷавобро барои муштарӣ месозад (масалан, JSON бо тасдиқи муваффақият, коди статуси HTTP 200 OK, ё хато бо коди статуси 400 Bad Request, 500 Internal Server Error ва ғайра).
- Сервер ҷавобро ба муштарӣ мефиристад.
- JavaScript дар тарафи муштарӣ ҷавобро коркард мекунад (масалан, паёми муваффақиятро нишон медиҳад, UI-ро навсозӣ мекунад ё хато нишон медиҳад).
Технологияҳое, ки истифода мешаванд, вобаста ба стек конкретӣ:
- Муштарӣ: HTML, CSS, JavaScript (React, Angular, Vue.js ва ғайра)
- Сервер: Frameworks (Node.js/Express, Python/Django/Flask, Ruby/Rails, Java/Spring, PHP/Laravel ва ғайра)
- Пойгоҳи додаҳо: SQL (PostgreSQL, MySQL, SQL Server), NoSQL (MongoDB, Cassandra)
Ҳамаи ин раванд бояд бехатар бошад (HTTPS, тасдиқ, иҷозат, валидация) ва бояд хатогиҳоро дар ҳар қадам баррасӣ кунад.