Sobes.tech
Intern

Какво е HTTP?

sobes.tech AI

Отговор от AI

Протокол за пренос на хипертекст. Мрежов протокол за ниво приложение за обмен на данни.

Основни характеристики:

  • Клиент-сървър архитектура: Клиентът (например браузър) изпраща заявка към сървъра, сървърът обработва заявката и връща отговор.
  • Без съхраняване на състояние (stateless): Всяка заявка се обработва независимо от предишните. Състоянието на сесията се поддържа на по-високи нива (например с помощта на бисквитки).
  • Използва TCP: По подразбиране транспортният протокол е TCP, който осигурява надеждна доставка на данни.
  • Порт 80: Стандартен порт за HTTP.
  • Методи на заявки (HTTP methods/verbs): Определят типа на действието, което трябва да бъде изпълнено върху ресурса.
    • GET: Заявка за данни от посочения ресурс.
    • POST: Изпращане на данни за обработка или създаване на нов ресурс.
    • PUT: Актуализиране на съществуващ ресурс или създаване на нов по посочения URI.
    • DELETE: Изтриване на посочения ресурс.
    • PATCH: Частична актуализация на ресурса.
    • HEAD: Заявка за заглавките на отговора, подобно на GET, но без тяло.
    • OPTIONS: Заявка за информация за наличните методи и други опции за връзка за целевия ресурс.
  • Кодове за състояние на отговора (Status Codes): Трицифрени числа, които показват резултата от заявката.
    • 1xx: Информационни
    • 2xx: Успешни - 200 OK
    • 3xx: Пренасочвания
    • 4xx: Грешка на клиента - 404 Not Found
    • 5xx: Грешка на сървъра - 500 Internal Server Error

Структура на HTTP съобщението:

Част Заявка (Request) Отговор (Response)
Стартова линия Метод URI Версия HTTP (например, GET / HTTP/1.1) Версия HTTP Код за състояние Фраза за състояние (например, HTTP/1.1 200 OK)
Заглавки Пара "Име-Стойност" (например, Host: example.com) Пара "Име-Стойност" (например, Content-Type: text/html)
Празен ред Отделя заглавките от тялото. Отделя заглавките от тялото.
Тяло Не е задължително. Съдържа данни за изпращане (например, форми). Не е задължително. Съдържа исканите данни (например, HTML страница).

Пример за HTTP заявка:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, като Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Пример за HTTP отговор:

HTTP/1.1 200 OK
Date: Tue, 25 Jun 2024 10:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
<head>
    <title>Index Page</title>
</head>
<body>
    HelloWorld!
</body>
</html>

Използва се за пренос на хипермедийни документи (HTML, изображения, видеа) в Световната мрежа. HTTPS е защитена версия на HTTP с използване на криптиране (SSL/TLS).