Sobes.tech
Middle

Протоколи HTTP чӣ гуна кор мекунад?

sobes.tech AI

Ҷавоб аз AI

HTTP (Hypertext Transfer Protocol) — протоколи қабати барномаи барои интиқоли маълумот, ки барои гирифтани захираҳо, мисли саҳифаҳои веб, истифода мешавад. Дар модели "мошин-клиент" кор мекунад.

Мошин (одатан браузер) дархостро ба сервер мефиристад, ва сервер дархостро коркард мекунад ва ҷавоб мефиристад.

Элементҳои асосии паёми HTTP:

  1. Ранги оғоз: Намуд ё навъи паём (талаб ё ҷавоб) ва параметрҳои асосӣ муайян мекунад.

    • Талаб: Метод (GET, POST, PUT, DELETE ва дигарҳо), роҳ ба захира, версияи протокол.
    • Ҷавоб: Версияи протокол, коди ҳолат (200 OK, 404 Not Found, 500 Internal Server Error ва дигарҳо), тавсифи матнӣ.
    GET /index.html HTTP/1.1 // Намунаи ранги оғозии талабот
    
    HTTP/1.1 200 OK // Намунаи ранги оғозии ҷавоб
    
  2. Сарлавҳаҳо (Headers): Метаинформацияро дар бораи паём ва тани паём дар бар мегиранд. Ҳар як сарлавҳа бо ҷуфт "НомиСарлавҳа: Қимат" пешниҳод мешавад.

    • Сарлавҳаҳои талабот: Host, User-Agent, Accept, Content-Type, Content-Length ва ғайра.
    • Сарлавҳаҳои ҷавоб: Content-Type, Content-Length, Server, Set-Cookie ва ғайра.
    Host: example.com // Намунаи сарлавҳаи Host
    User-Agent: Mozilla/5.0 // Намунаи сарлавҳаи User-Agent
    
  3. Ранги холӣ: Сарлавҳаҳоро аз тани паём ҷудо мекунад.

  4. Тани паём (Body): Маълумотҳои интиқолшаванда дар он ҷойгир мешаванд. Дар баъзе дархостҳо (масалан, GET) ва ҷавобҳо (масалан, 204 No Content) метавонад набошад. Дар дархостҳои POST ё PUT тани паём одатан маълумотҳоро дар бар мегирад. Дар ҷавобҳо тани паём захираи дархостшуда (масалан, HTML, тасвирҳо, JSON) мебошад.

    <!DOCTYPE html>
    <html>
    <head>
        <title>Example</title>
    </head>
    <body>
        <h1>Hello!</h1>
    </body>
    </html>
    

Методҳои асосии HTTP:

Метод Тавсиф Истифода
GET Захираро аз URL-и нишон додашуда талаб мекунад. Дастрасӣ ба маълумот, бе тағир додани ҳолати сервер.
POST Маълумотро барои коркард ба сервер мефиристад. Формаҳои фиристодан, боркунии файлҳо, эҷоди захираҳо.
PUT Захираро дар URL-и нишон додашуда навсозӣ ё эҷод мекунад. Навсозии захираҳои мавҷуда.
DELETE Захираро дар URL-и нишон додашуда нест мекунад. Нест кардани захираҳо.
HEAD Ҳолати захираро бидуни тани он талаб мекунад. Дастрасӣ ба метаинформацияи захира.

HTTP — протоколи бе нигоҳдошти ҳолат (stateless). Ҳар дархост мустақил аст. Барои нигоҳдошти ҳолат механизмҳое мисли cookies ва сессияҳо истифода мешаванд.