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 и сесии.