Ketch
@Ketch
Все гениальное просто!

Что такое протокол передачи данных?

Только не нужно мне объяснять для чего он нужен и как работает, или кидать ссылки на википедию.
Везде пишут протокол - набор соглашений, свод правил. Но нигде почему-то не объясняется что это вообще такое? Это программа или что? Где "живет" протокол? У меня на компьютере или на веб-серверах? Ок, везде пишут - набор соглашений. А в каком виде они представлены и где описаны? Объясните кто-нибудь понятным языком.
  • Вопрос задан
  • 1459 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Протокол - это действительно набор соглашений. Он нужен для того, чтобы две программы могли передавать друг другу данные или команды. Описан протокол может быть только в документации.

Например, азбука Морзе - это тоже протокол и когда мужик на улице к вам подходит и два пальца к губам подставляет, потому что вы в наушниках и всё-равно про сигарету не услышите - это тоже протокол. Поэтому, "жить" он может только в сознании тех, кто им пользуется.

Или URL на сайте - это тоже, в общем-то, протокол. Сервер говорит: "Пнёшь по http адрес Что такое протокол передачи данных?, я тебе отдам содержимое страницы" и действительно, когда вы переходите по этому адресу, вот он - ваш вопрос. Вы с сервером так договорились. Галстук на двери в общаге - это тоже протокол (и не советую вам его нарушать).
А ещё в Википедии есть вот такое определение:
Дипломатический протокол — совокупность общепринятых правил, традиций и условностей, соблюдаемых правительствами, ведомствами иностранных дел, дипломатическими представительствами, официальными лицами в международном общении.

И оно тоже очень хорошо подходит к вашему вопросу, на самом деле. Когда послу США в России, например, требуется какая-то информация, он не может просто смску отправить Сергею Лаврову, он должен послать официальный запрос. Чем не протокол передачи данных?

Ещё протокол можно сравнить с алфавитом или словарём. Протокол "живёт" там же, где и алфавит.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
zmitrok62
@zmitrok62
Очень хороший человек
Это то, что описывает как должны общаться две системы. Т.к. задачи для обмена между информационными системами (однотипными, либо не однотипными) очень разные, то создают описание обмена - протокол.
Как пример - протокол передачи писем между почтовыми серверами. Специфика - передача информации, в основном текстовой. Поэтому серверы по ПРОТОКОЛУ SMTP общаются примерно так(кратко):

HELO
MAIL FROM:
RCPT TO:
DATA
RSET
SEND FROM:
SOML FROM:
SAML FROM:
VRFY
EXPN
HELP
NOOP
QUIT


Т.е. устанавливают соединение, устанавливают параметры передачи. Вы можете сами этот самый протокол пощупать руками, подключившись к SMTP серверу с помощью банального telnet клиента:

$ telnet smtp.mail.ru 25
Trying 94.100.177.1...
Connected to smtp.mail.ru.
Escape character is '^]'.
220 mail.ru ESMTP Wed, 18 Nov 2009 20:44:13 +0300
HELO some.host.ru
250 mx30.mail.ru Hello some.host.ru [123.45.67.89]
AUTH LOGIN
334 VXNlcm5hbWU6
dXNlckBtYWlsLnJ1
334 UGFzc3dvcmQ6
cXdlcnR5
235 Authentication succeeded


Тут мы коннектимся к SMTP-серверу, он приветствует нас кодом 220, в ответ мы называем имя своего хоста HELO some.host.ru

Это собственно и есть протокол передачи данных.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Данные передаются пакетами, а протокол - порядок полей в каждом таком пакете.
Аналог: перевозка груза железнодорожными составами с определённым порядком и назначением вагонов в них. (это и есть соглашения)
Остальное - в википедии.
Ответ написан
Rou1997
@Rou1997
Это как формат файла, форма записи данных, сетевой протокол используется и на сервере и на клиенте, сервер пишет пакет в этом формате и передает клиенту, клиент читает его в этом формате, всё, устал разжевывать, поработайте с любым протоколом на практике и поймете.
Ответ написан
Комментировать
Nivalis
@Nivalis
Обычно протоколы описываются в RFC.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы