1.86M
Категория: ИнтернетИнтернет

Набор протоколов передачи данных. HTTP/WEB

1.

HTTP/WEB
astondevs.ru

2.

WEB
TCP/IP — набор протоколов передачи данных, получивший название от двух принадлежащих ему протоколов: TCP (англ.
Transmission Control Protocol) и IP (англ. Internet Protocol)[2]
Наиболее известные протоколы, используемые в сети Интернет:
HTTP (Hyper Text Transfer Protocol) — это протокол передачи гипертекста. Протокол HTTP используется при пересылке
Web-страниц между компьютерами, подключенными к одной сети.
FTP (File Transfer Protocol) — это протокол передачи файлов со специального файлового сервера на компьютер
пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером
сети. Установив связь с удаленным компьютером, пользователь может скопировать файл с удаленного компьютера на
свой или скопировать файл со своего компьютера на удаленный.
POP3 (Post Office Protocol) — это стандартный протокол почтового соединения. Серверы POP обрабатывают входящую
почту, а протокол POP предназначен для обработки запросов на получение почты от клиентских почтовых программ.
SMTP (Simple Mail Transfer Protocol) — протокол, который задает набор правил для передачи почты. Сервер SMTP
возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию.
TELNET — это протокол удаленного доступа. TELNET дает возможность абоненту работать на любой ЭВМ находящейся с
ним в одной сети, как на своей собственной, то есть запускать программы, менять режим работы и так далее. На практике
возможности ограничиваются тем уровнем доступа, который задан администратором удаленной машины.
Другие протоколы:
DTN — протокол, предназначенный для сетей дальней космической связи IPN, которые используются NASA.

3.

HTTP
● Стартовая строка (англ. Starting line) —
определяет тип сообщения;
● Заголовки (англ. Headers) — характеризуют тело
сообщения, параметры передачи и прочие
сведения;
● Тело сообщения (англ. Message Body) —
непосредственно данные сообщения.
Обязательно должно отделяться от заголовков
пустой строкой.

4.

Методы HTTP
● GET запрашивает представление ресурса. Запросы с использованием этого метода могут
только извлекать данные
● HEAD запрашивает ресурс так же, как и метод GET, но без тела ответа.
● POST используется для отправки сущностей к определённому ресурсу. Часто вызывает
изменение состояния или какие-то побочные эффекты на сервере.
● PUT заменяет все текущие представления ресурса данными запроса.
● DELETE удаляет указанный ресурс.
● CONNECT устанавливает "туннель" к серверу, определённому по ресурсу.
● OPTIONS используется для описания параметров соединения с ресурсом.
● TRACE выполняет вызов возвращаемого тестового сообщения с ресурса.
● PATCH используется для частичного изменения ресурса.
HTTP определяет множество методов запроса, которые указывают, какое желаемое действие
выполнится для данного ресурса. Несмотря на то, что их названия могут быть
существительными, эти методы запроса иногда называются HTTP глаголами. Каждый реализует
свою семантику, но каждая группа команд разделяет общие свойства: так, методы могут быть
безопасными, идемпотентными или кешируемыми.

5.

Проблемы
Да, есть небольшая проблема с применением REST на практике. Проблема эта называется
HTML.
PUT/DELETE запросы можно отправлять посредством XMLHttpRequest, посредством
обращения к серверу «вручную» (скажем, через curl или даже через telnet), но нельзя сделать
HTML-форму, отправляющую полноценный PUT/DELETE-запрос.
Дело в том, спецификация HTML не позволяет создавать формы, отправляющие данные иначе,
чем через GET или POST. Поэтому для нормальной работы с другими методами приходится
имитировать их искусственно. Например, в Rack (механизм, на базе которого Ruby
взаимодействует с веб-сервером; с применением Rack сделаны Rails, Merb и другие Rubyфреймворки) в форму можно добавить hidden-поле с именем "_method", а в качестве значения
указать название метода (например, «PUT») — в этом случае будет отправлен POST-запрос, но
Rack сможет сделать вид, что получил PUT, а не POST.

6.

Статусы

7.

Литература
https://habr.com/ru/post/50147/
https://www.youtube.com/watch?v=CKUOb4htnB4
https://ru.wikipedia.org/wiki/HTTP
https://habr.com/ru/post/50147/
https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1
%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%
D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%
D0%BD%D0%B8%D1%8F_HTTP
English     Русский Правила