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 OK3xx: Пренасочвания4xx: Грешка на клиента -404 Not Found5xx: Грешка на сървъра -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).