HTTP протокол

Перейдите к следующему слайду, нажав кнопку Вправо

Разбираемся, как работает интернет

Подготовлено онлайн-курсом

https://dvmn.org

GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
(пустая строка)  

Как выглядят запросы

Обычный GET запрос на Википедию - это просто текст вот с таким содержимым

GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
(пустая строка)  

Как выглядят запросы

Разбор структуры запроса

Метод запроса (о них будет далее)

Протокол, его версия

Откуда делали запрос. В данном случае - из браузера

GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
(пустая строка)  

Как выглядят запросы

Какие типы контента мы ожидаем принять

Адрес страницы на хосте

Хост сайта

Разбор структуры запроса

GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
(пустая строка)  

Как выглядят запросы

Как запрос формируется из ссылки браузера

Итого адрес страницы: http://ru.wikipedia.org/wiki/страница

HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(запрошенная страница в HTML)

Как выглядят ответы

Википедия ответит этим

HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(запрошенная страница в HTML)

Как выглядят ответы

Разбор структуры ответа

Дата ответа

Протокол, его версия

А вот тут будет ваша страница

HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(запрошенная страница в HTML)

Как выглядят ответы

Коды ответов

Есть много разных кодов ответа, 200 - успешный. Вы уже наверняка знаете про 404 - "страница не найдена", это не успешный запрос.

Больше можно найти по ссылке

Код ответа

HTTP methods

Методов HTTP много, но в основном используют два

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

Самые распространённые

GET vs. POST

Разница между GET и POST запросами

В POST можно передавать данные в теле запроса
В GET запросе - нет

POST запросы отправляются, например, когда вы заполняете форму регистрации на сайтах. Данные из формы попадают в тело POST запроса.

Как посмотреть запросы в браузере

Откройте любой сайт в браузере, нажмите Правой Клавишей Мыши по странице, выберите "Inspect element" (название может слегка варьироваться в зависимости от браузера), затем перейдите во вкладку Network и обновите эту страницу. Вы увидите запросы, которые послал ваш браузер, чтобы её получить. У каждого запроса во вкладке Headers вы сможете посмотреть информацию о нём в немного изменённой форме.

 

Создано для онлайн-курса https://dvmn.org