Sobes.tech
Middle

Клиентте жасалган өзгөртүүлөр кантип серверге жетип, маалыматтар базасына сакталат?

sobes.tech AI

AIден жооп

Жалпысынан алганда, колдонуучу веб-аппликацияда (клиент тараптан) жасаган өзгөртүүлөр HTTP суроо аркылуу серверге жөнөтүлөт.

HTTP суроолорунун түрлөрү:

  • POST: Жаңы ресурсту түзүү же сервер тарабынан иштетүү үчүн маалыматтарды жөнөтүү үчүн колдонулат. Көп учурда формалардан алынган маалыматтар үчүн колдонулат.
  • PUT: Бар ресурсту жаңылоого колдонулат. Ресурстун толук абалы өткөрүлөт.
  • PATCH: Ресурстун бөлүктүү жаңыртуусуна колдонулат. only өзгөртүлгөн талаалар өткөрүлөт.
  • DELETE: Ресурсту өчүрүү үчүн колдонулат.

Маалымат агымдын мисалы:

  1. Колдонуучу веб-беттеги формага маалымат киргизет.
  2. Клиент тараптагы JavaScript бул маалыматтарды чогултат (мисалы, JSON объектинде).
  3. API соңуна HTTP суроо (мисалы, POST же PUT) жөнөтүлөт. Маалыматтар суроо денесине кошулат.
    // Маалыматтарды серверге жөнөтүү мисалы 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);
      // Ката менен иштөө
    });
    
  4. Сервер тиркемеси суроону алат жана аны тиешелүү иштетүүчүгө (контроллер) багыттайт.
  5. Контроллер суроодон маалыматтарды чыгарат.
  6. Маалыматтар сервер тарабынан текшерилет жана тазаланады, коопсуздук жана тактык үчүн.
  7. Бизнес логика алынган маалыматтарды иштетет (мисалы, колдонуучунун уникалдуулугун текшерет, керектүү эсептөөлөрдү жүргүзөт).
  8. Контроллер маалыматка кирүү деңгээли (Data Access Layer - DAL) же ORM (Object-Relational Mapper) менен иштейт.
  9. DAL/ORM SQL суроо түзөт же маалымат базасы ыкмаларын колдонуп, маалыматтарды сактоо, жаңылоо же өчүрүү үчүн.
    -- SQL кошуу мисалы
    INSERT INTO users (username, email) VALUES ('newuser', 'newuser@example.com');
    
    -- SQL жаңылоо мисалы
    UPDATE users SET email = 'updated_email@example.com' WHERE username = 'newuser';
    
  10. Маалымат базасы операцияны аткарат жана натыйжаны кайтарат (жакшы же ката).
  11. DAL/ORM натыйжаны контроллерге өткөрөт.
  12. Контроллер жооп түзөт (мисалы, ийгилик тууралуу JSON, HTTP статустук коду 200 OK, же ката менен 400 Bad Request, 500 Internal Server Error жана башка).
  13. Сервер жоопту клиентке жөнөтөт.
  14. Клиент тараптагы 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, аутентификация, уруксат берүү, валидация) жана ар бир этабында мүмкүн болгон ката-ошолдуктарды иштетиши керек.