Sobes.tech
Middle

Ինչպես են հաճախորդի կողմից կատարված փոփոխությունները փոխանցվում սերվերին և պահվում տվյալների բազայում?

sobes.tech AI

Պատասխան AI-ից

Ընդհանուր առմամբ, օգտագործողի կողմից վեբ հավելվածում (կլիենտի կողմից) կատարված փոփոխությունները փոխանցվում են սերվերին HTTP հարցումով:

HTTP հարցումների տեսակները:

  • POST: Օգտագործվում է նոր ռեսուրս ստեղծելու կամ տվյալներ ուղարկելու համար սերվերին։ Հաճախ օգտագործվում է ձևաթղթերից տվյալներ ուղարկելու համար:
  • PUT: Օգտագործվում է գոյություն ունեցող ռեսուրսը թարմացնելու համար։ Փոխանցվում է ռեսուրսի ամբողջական վիճակը:
  • PATCH: Օգտագործվում է ռեսուրսի մասնակի թարմացման համար։ Միայն փոփոխված դաշտերը փոխանցվում են:
  • DELETE: Օգտագործվում է ռեսուրսը ջնջելու համար:

Տվյալների հոսքի օրինակ:

  1. Օգտագործողը մուտքագրում է տվյալներ վեբ էջի ձևում:
  2. Կլիենտի կողմի JavaScript-ը հավաքում է այդ տվյալները (օր., JSON օբյեկտում):
  3. Կատարվում է 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);
      // Սխալի մշակումը
    });
    
  4. Սերվերի հավելվածը ստանում է հարցումը և ուղարկում համապատասխան մշակողին (կոնտրոլեր):
  5. Կոնտրոլերը քաշում է տվյալները հարցման մարմնից:
  6. Տվյալները վավերացվում և մաքրվում են սերվերի կողմից՝ ապահովելու համար անվտանգությունը և ճշգրտությունը:
  7. Բիզնես տրամաբանությունը մշակում է ստացված տվյալները (օր., ստուգում է օգտատիրոջ անվան եզակիությունը, կատարում անհրաժեշտ հաշվարկներ):
  8. Կոնտրոլերը փոխազդում են տվյալների մուտքի շերտի (Data Access Layer - DAL) կամ ORM-ի (Object-Relational Mapper) հետ:
  9. 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';
    
  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 և այլն)
  • Սերվեր: Ֆրեյմվորկեր (Node.js/Express, Python/Django/Flask, Ruby/Rails, Java/Spring, PHP/Laravel և այլն)
  • Տվյալների բազա: SQL (PostgreSQL, MySQL, SQL Server), NoSQL (MongoDB, Cassandra)

Ամբողջ գործընթացը պետք է լինի անվտանգ (HTTPS, հաստատում, թույլտվություն, վավերացում) և պետք է մշակվի հնարավոր սխալները յուրաքանչյուր փուլում։