Sobes.tech
Junior

HTTP чӣ компонентҳоро дар бар мегирад?

sobes.tech AI

Ҷавоб аз AI

HTTP-талаб қуйидаги компонентлардан иборат:

  1. Башланғич сатр (Request Line): Талаб тури ва манбаъни аниқлайди. У:

    • HTTP усули (HTTP Method): Манбаъ устида амалга оширилиши керак бўлган ҳаракат (масалан, GET, POST, PUT, DELETE).
    • Манбаъ йўли (Path): Серверда сўралган манбаъга URL йўли.
    • HTTP версияси (HTTP Version): Талаб учун ишлатиладиган HTTP протоколи версияси (масалан, HTTP/1.1, HTTP/2.0).
    // Башланғич сатрнинг мисоли
    GET /index.html HTTP/1.1
    
  2. Талаб бошлиғлари (Request Headers): Мижоз, талаб ёки манбаъ ҳақида қўшимча маълумотлар беради. Бошлиғ параметрлари "Исм: Қиймат" форматида келтирилади. Асосий бошлиғлар:

    • Host: Сервер домен номи.
    • User-Agent: Мижоз ҳақида маълумот (браузер, Операцион тизим).
    • Accept: Мижоз қабул қилишга тайёр бўлган носитель турлари.
    • Content-Type: Тана мазмуни носитери тури (PUT, POST усуллари учун).
    • Content-Length: Тана мазмунининг байтлардаги узунлиги.
    • Authorization: Автентификация учун ҳисоб-китоб маълумотлари.
    // Талаб бошлиғларининг мисоллари
    Host: www.example.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. Бўш сатр (Empty Line): Талаб бошлиғлари ва талаб тана орасида ажратишчи. Ҳамда, агар тана бўлмаса ҳам, мажбурий.

  4. Талаб тана (Request Body): Серверга юбориладиган маълумотлар, масалан, форма маълумотлари, POST/PUT талаблари учун JSON. Барча усуллар учун мавжуд эмас (масалан, GET учун йўқ).

    // Талаб тана мисоли (POST/PUT учун)
    {
      "name": "John Doe",
      "age": 30
    }
    

HTTP-талаб структурасини шундай тасвирлаш мумкин:

Компонент Тавсиф Мажбурийлиги
Башланғич сатр Усул, манбаъ йўли, HTTP версияси Ҳаммаси
Талаб бошлиғлари Талаб ёки мижоз ҳақида қўшимча маълумотлар Мажбурий
Бўш сатр Айримлаштирувчи Ҳаммаси
Талаб тана Серверга юбориладиган маълумотлар Мажбурий