Протоколи HTTP чӣ гуна кор мекунад?
sobes.tech AI
Ҷавоб аз AI
HTTP (Hypertext Transfer Protocol) — протоколи қабати барномаи барои интиқоли маълумот, ки барои гирифтани захираҳо, мисли саҳифаҳои веб, истифода мешавад. Дар модели "мошин-клиент" кор мекунад.
Мошин (одатан браузер) дархостро ба сервер мефиристад, ва сервер дархостро коркард мекунад ва ҷавоб мефиристад.
Элементҳои асосии паёми HTTP:
-
Ранги оғоз: Намуд ё навъи паём (талаб ё ҷавоб) ва параметрҳои асосӣ муайян мекунад.
- Талаб: Метод (GET, POST, PUT, DELETE ва дигарҳо), роҳ ба захира, версияи протокол.
- Ҷавоб: Версияи протокол, коди ҳолат (200 OK, 404 Not Found, 500 Internal Server Error ва дигарҳо), тавсифи матнӣ.
GET /index.html HTTP/1.1 // Намунаи ранги оғозии талаботHTTP/1.1 200 OK // Намунаи ранги оғозии ҷавоб -
Сарлавҳаҳо (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 -
Ранги холӣ: Сарлавҳаҳоро аз тани паём ҷудо мекунад.
-
Тани паём (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 ва сессияҳо истифода мешаванд.