Как работи протоколът 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 и сесии.