
http
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных, изначально — в виде гипертекстовых документов в формате HTML, в настоящее время используется для передачи произвольных данных.
HTTP: алгоритм работы
Этап No1: ввод URL
Пользователь вводит адрес нужной веб-страницы в адресную строку браузера или переходит на новую страницу по ссылке.
Обратите внимание: любой URL начинается с http/https. Это говорит браузеру, что для получения информации нужно использовать протокол HTTP.
Этап No2: поиск IP
Браузер с помощью DNS, о которой мы рассказывали в одной из наших статей, находит соответствующий введенному доменному имени IP-адрес.
Этап No3: отправка HTTP-запроса
После того как браузер установил нужный IP-адрес, он отправляет HTTP-запрос.
Пример HTTP-запроса:
GET/page.html HTTP/1.1
Host: www.styleall.ru
- с помощью GET браузер как бы демонстрирует, что хочет получить некую информацию в ответ на этот запрос;
- /page.html — путь к требуемой веб-странице;
- HTTP/1.1 — используемая версия протокола;
- www.styleall.ru — доменное имя запрашиваемого ресурса.
Кроме GET, можно использовать и другие методы отправки запросов. Например:
- POST
При отправке POST-запроса параметры помещаются не прямо в URL, а в тело запроса.
- HEAD
HEAD-запросы работают так же как и те, что отправляются с помощью метода GET, но клиент получает от сервера не все данные, а только информацию заголовка.
Этап No4: отправка HTTP-ответа
Если есть запрос, то должен быть и ответ, верно? Как мы уже разобрали выше, за отправку ответов отвечает сервер.
HTTP-ответ начинается так же, как и запрос, — с используемой версии HTTP:
HTTP/1.1 200 OK
За ним следует код ответа. В примере выше это 200, он означает, что запрашиваемый документ успешно извлечен.
Браузер может отдавать и другие коды, например:
- Во-первых, 404 — страница не найдена;
- Во-вторых, 400 — если запрос был сформирован неправильно;
- В-третьих, 500 — неудачная обработка запроса и другие.
После строки, в которой указывается версия протокола и код ответа, следуют заголовки. Благодаря им браузер получает дополнительные сведения и корректно отображает контент.
Как правило, в большинстве заголовков можно найти такие строки:
- Content-Type: text/html; charset=UTF-8
- Content-Length: 258
Content-Type указывает на тип отправляемого в ответ на запрос документа. Чаще всего значением этого параметра является text/html, так как любая веб-страница — это все еще текстовый HTML-файл, даже если она содержит какой-то динамический контент. Бывают и другие типы, например, изображения, скрипты и тому подобное.
В строке Content-Length записывается длина документа в байтах.
Этап No5: открывается запрашиваемая страница сайта
Если все шаги выше были выполнены успешно, пользователь увидит нужную ему веб-страницу.
Ghjljk;tybt