Важное о HTTP(S), GET и POST

IOT, «INTERNET OF THINGS» — ИНТЕРНЕТ ВЕЩЕЙ Это громкое словосочетание означает концепцию связи большого количества устройств (вещей) в общую сеть. Устройства общаются между собой через Интернет: передают друг другу информацию, а затем обрабатывают её. Не просто так, а принося пользу людям. Например, собирают данные о погоде со всех концов Земли, управляют офисными зданиями или сообщают пути объезда, если впереди на дороге образовалась пробка. Рой устройств в единой сети создаёт полную картину происходящего вокруг, повышает комфорт и позволяет улучшить качество жизни людей.

ПРОТОКОЛ HTTP

HTTP — это повсеместно используемый протокол для передачи веб-страниц и медиафайлов. Каждое твоё действие с любым сайтом в браузере происходит с помощью этого протокола. По протоколу HTTP устройства общаются прерывно — запрос-ответ. Клиент посылает запрос. Протокол IP направляет его к нужному серверу через кучу маршрутизаторов. Открывается TCP-соединение между клиентом и сервером, и по нему, байт за байтом, запрос приходит по нужному адресу. После обработки запроса сервер отправляет ответ обратно клиенту, и TCP-соединение обрывается

Данные по протоколу HTTP передаются в виде текстовых строк. В начале текста записаны заголовки (headers), затем идёт тело (body). Заголовки — это особые строки, которые определяют свойства тела. Например, они сообщают размер тела в байтах, тип данных (текст, объект, файл) и служебную информацию. Наиболее распространены два метода запроса: GET и POST. Они отличаются по структуре.

GET-ЗАПРОС

GET-запрос устроен просто. Его можно послать прямо из адресной строки браузера. В GET-запросе существует только заголовок. Тела запроса в нём нет. Например, GET-запрос браузера к сайту Амперки выглядит примерно так:

В GET-запросе также можно передавать дополнительную информацию прямо из строки браузера. Выглядит это так:

Сначала мы пишем имя сайта, к которому обращаемся. После URL находится служебный символ «?». Он сообщает серверу, что мы хотим передать в запросе дополнительные параметры. Дополнительных параметров может быть больше одного. Они разделяются между собой служебным символом «&». Именно из-за их использования в структуре запроса в URL-адресах нельзя использовать символы «?» и «&». Дополнительные параметры передаются в первой строке запроса.

GET /?login=Amperka&password=12345 HTTP/1.1

POST-ЗАПРОС

POST-запрос также позволяет сообщать или запрашивать дополнительную информацию у сервера, но устроен он гораздо сложнее. В первую очередь работа с этим запросом происходит не через адресную строку, а при нажатии кнопки на сайте (например, при заполнении полей логина и пароля). При работе POST параметры передаются в фоновом режиме. Существует специальный параметр Content-Type, определяющий вид информации, который необходимо передать. Например, POST можно использовать для загрузки файлов большого объёма. Вот пример запроса, выполненного методом POST. В нём уже есть не только заголовок, но и тело запроса.

Last updated