Translate

---------------------------------------------------------------------------------

18 декември 2023

Протокол HTTP | dLambow

(HTTP protocol) -

Протокол за пренос на хипертекст (Hypertext Transfer Protocol - HTTP)


Какво е Протокол HTTP?

Протоколът за пренос на хипертекст (HTTP) е мрежов протокол за комуникация между клиент и сървър, който се използва основно за пренос на информация в Интернет и в компютърни мрежи. HTTP е основният протокол, който се използва за функционирането на Световната мрежа (WWW - World Wide Web), и е отговорен за пренос и прехвърлянето на HTML страници (хипертекстови документи), изображения, видеоклипове и други файлове от уеб сървъри към уеб браузъри.

Протокол HTTP
Протокол HTTP (HTTP protocol)

Основни понятия

  • - HTTP заявка е съобщение, изпратено от клиента до сървъра. Заявката съдържа информация за ресурса, който клиентът иска да получи или промени.
  • - HTTP отговор е съобщение, изпратено от сървъра до клиента. Отговорът съдържа информация за състоянието на заявката и данните, които клиентът е поискал.
  • - HTTP метод е един от следните типове заявки, които клиентът може да изпрати до сървъра:
    • = GET - заявка за извличане на ресурс
    • = POST - заявка за въвеждане на данни в ресурс
    • = HEAD - заявка за получаване на информация за ресурса, без да се извличат данните
    • = OPTIONS - заявка за получаване на информация за възможностите на ресурса
    • = CONNECT - заявка за създаване на TCP връзка с ресурс
    • = TRACE - заявка за проследяване на пътя на заявката през мрежата
  • - HTTP статус код е число, което показва състоянието на заявката. Някои често срещани статус кодове са:
    • = 200 OK - заявката беше изпълнена успешно
    • = 404 Not Found - ресурсът, който клиентът поиска, не е намерен
    • = 500 Internal Server Error - възникна грешка в сървъра


Механизъм на действие

HTTP работи на модела клиент-сървър. Основният механизъм на действие на HTTP е следният:

  • - Уеб браузърът на потребителя отваря уеб страница.
  • - Клиентът изпраща заявка до сървъра, на който се намира страницата. Клиент е устройството, което инициира HTTP заявка. В повечето случаи клиентът е уеб браузър.
  • - Сервърът отговаря на заявката с HTTP отговор, който съдържа данните за страницата. Сървър е устройството, което отговаря на HTTP заявка. В повечето случаи сървърът е уеб сървър.
  • - Клиентът получава отговора от сървъра.
  • - Уеб браузърът показва страницата на потребителя.

В този пример заявката е от тип GET, тъй като клиентът иска да изтегли ресурс от сървъра. Отговорът е от тип 200 OK, което означава, че заявката е била успешна. Данните, които се съдържат в отговора, са HTML кодът за страницата.

HTTP е протокол от приложния слой на OSI модела. Това означава, че той работи върху транспортния слой на TCP/IP протокола, който е отговорен за физическото предаване на данните. HTTP използва модел клиент-сървър, където клиентът (например уеб браузър) изпраща заявки до сървъра (например уеб сървър), а сървърът отговаря на тези заявки.

HTTP комуникацията се осъществява чрез обмен на заявки и отговори.

  • - Заявка е съобщение, което изпраща клиентът до сървъра. Заявката съдържа информация за ресурса, който клиентът иска да получи.
  • - Отговор е съобщение, което изпраща сървърът до клиента. Отговорът съдържа информация за състоянието на заявката и самите данни.

В интернет HTTP обикновено се използва с протокола за контрол на предаванията (TCP).

Заявки

Заявката се изпраща от клиента към сървъра и съдържа информация за това какво иска клиентът да направи. Отговорът се изпраща от сървъра към клиента и съдържа информация за това какво е направил сървърът. HTTP заявките се състоят от:

- Метод

Методът определя какво иска клиентът да направи.

- URI

URI (Uniform Resource Identifier) идентифицира ресурса, който клиентът иска да изтегли.

- Заглавки

Заглавките съдържат допълнителна информация за заявката.

Отговори

HTTP отговорите се състоят от:

- Статусен код

Статусният код показва дали заявката е била успешна или не.

- Заглавия

Заглавките съдържат допълнителна информация за отговора.

- Тяло

Тялото съдържа действителната информация, която клиентът е поискал.


Методи на заявки

HTTP поддържа редица методи на заявки. Най-често използваните методи са:

- GET

Използва се за изтегляне на ресурс от сървъра.

- POST

Използва се за изпращане на данни към сървъра.

- PUT

Използва се за замяна на съществуващ ресурс на сървъра.

- DELETE

Използва се за изтриване на ресурс от сървъра.

Статусни кодове

HTTP отговорите съдържат статусен код, който показва дали заявката е била успешна или не. Най-често срещаните статусни кодове са:

- 200 OK

Заявката е била успешна.

- 400 Bad Request

Заявката е била невалидна.

- 401 Unauthorized

Клиентът не е оторизиран да направи заявката.

- 403 Forbidden

Клиентът е оторизиран, но заявката е забранена.

- 404 Not Found

Ресурсът, който е бил поискан, не е намерен.

Заглавки

HTTP заявките и отговорите могат да съдържат заглавки, които предоставят допълнителна информация. Някои от най-често срещаните заглавки са:

- Content-Type

Определя типа на данните, които се прехвърлят.

- Content-Length

Определя размера на данните, които се прехвърлят.

- Last-Modified

Определя последната дата, на която ресурсът е бил променен.

- Cache-Control

Определя как ресурсът трябва да се кешира.

Пример за работа на HTTP

Когато отворите уеб страница в браузъра си, браузърът изпраща заявка до уеб сървъра, който хоства тази страница. Заявката съдържа информация за URL адреса на страницата, която искате да отворите. Сервърът отговаря на заявката, като изпраща HTML файла на страницата. Браузърът изобразява HTML файла на екрана.

Версии на HTTP

Първоначално HTTP е разработен като версия 0.9. През 1996 г. е публикувана версия 1.0, която добавя нови функции, като например поддържане на заглавки. През 1999 г. е публикувана версия 1.1, която добавя още повече функции, като например поддържане на състояния на връзките.  Най-често използваната версия е HTTP/1.1. HTTP/2 е по-нова версия, която предлага някои подобрения в производителността и сигурността и е по-ефективна от предишните версии.


HTTPS
HTTPS е усъвършенстван вариант на HTTP, който използва:

  • - Secure Sockets Layer (SSL) или
  • - Transport Layer Security (TLS)

за шифроване на комуникацията между клиент и сървър. HTTPS се използва за осигуряване на сигурността на уеб приложенията, като например онлайн банкиране и електронна търговия.

Приложения

HTTP се използва за различни приложения, включително:

- Възпроизвеждане на мултимедия

HTTP се използва за изтегляне на видео, аудио и други мултимедийни файлове от интернет.

- Споделяне на файлове

HTTP се използва за споделяне на файлове между потребители в интернет.

- Интернет услуги

HTTP се използва за предоставяне на различни интернет услуги, като например електронна поща, социални мрежи и онлайн игри.

Заключение

HTTP е основен протокол, който е от съществено значение за работата на World Wide Web (WWW). Той е прост и ефективен протокол, който позволява на клиентите и сървърите да обменят информация по надежден и безопасен начин по целия свят.

-------
Ако темата ви харесва, споделете я с приятели. Ако са възникнали въпроси, задайте ги в коментарите по-долу. След седмица проверете за отговора.
----------------

Няма коментари:

Публикуване на коментар

Моля, само сериозни коментари - публикуват се след одобрение на редактор.


Последни публикации в Самоучител:

Абонати: