В чем разница между терминами «протокол» и «стандарт»?


13

Я нахожу термин «протокол» запутанным (в терминах информатики). Если протокол - это просто набор правил, не будет ли проще использовать термин «стандарт» (как в «стандарте HTTP»)?


8
Какая? У меня есть нестандартный протокол, который я использую каждый день для связи с сервером. Понятно, что слова «протокол» и «стандарт» не имеют ничего общего друг с другом. Почему ты спрашиваешь? Где вы видели эти слова в запутанном контексте? Пожалуйста, расширьте свой вопрос, чтобы более подробно объяснить, что вас смущает.
S.Lott

@ S.Lott, почему вы думаете, что ваш протокол нестандартный?
Эмануил Русев

2
Это нестандартно, потому что я это придумал. Я знаю, что нет ни одного стандарта, потому что он уникален. И это действительно плохо. И я должен был использовать HTTP, который является стандартным протоколом. Ваш комментарий не объясняет вашу путаницу. Пожалуйста, объясните, как вы путаетесь между Протоколом («правилами») и Стандартом («одобренным комитетом»)
S.Lott

Все стандарты придуманы кем-то. Определенный набор правил является стандартом, независимо от того, сколько людей его используют. Я ошибаюсь?
Эмануил Русев

1
Возможно, это помогает рассматривать протокол как определенный тип стандарта: стандарт, который описывает формат обмена сообщениями между компьютерами.
Квеббл

Ответы:


19

Не все протоколы являются стандартами (некоторые проприетарные). Не все стандарты являются протоколами (некоторые управляют другими уровнями, кроме связи).


1
Стандарт не может быть проприетарным?
Эмануил Русев

7
Собственные стандарты на самом деле не являются стандартами; никто другой не может (или не может) их реализовать, и первоначальный автор может изменять их по своему усмотрению.
Скотт С. Уилсон

3
Запатентованный стандарт может иметь формальный процесс для предложения, одобрения и внесения изменений, как открытый. Нет причин, по которым этот процесс должен быть «автор может делать, как ему заблагорассудится». На самом деле, я бы сказал, что это было бы невероятным исключением из правил. (Я придерживаюсь одного запатентованного стандарта, согласно которому моя компания обязана вносить изменения только в соответствии с документированными процедурами, которые включают уведомления и комментарии других заинтересованных сторон в компаниях-партнерах. Это фактически стандартное условие в политиках управления изменениями во многих крупных компаниях.)
Дэвид Шварц

1
Я не согласен с тем, что он не может быть стандартом, если он не открыт. В первые 6 лет существования PDF спецификация была проприетарной, но основывалась на широком распространении проприетарного формата, и я думаю, что вам придется называть его стандартом.
Папараццо

Стандарт де-факто действительно может быть проприетарным и часто является началом более открытого стандарта или стандартизации (со стороны органа по стандартизации).
Tracker1

9

Протокол - это не набор правил. Протокол является вещь эти правила описывают правила о . Вот почему программы реализуют протокол и соответствуют стандарту.

Протоколы похожи на языки. Стандарты похожи на словари. Например, по аналогии:

Этот ответ = Веб-страница на
английском языке = протокол HTTP
Правила английского языка = стандарт HTTP


Я не понимаю Протокол HTTP может описывать ответ от сервера, который в основном является веб-страницей. Значит ли это, что сама веб-страница является протоколом?
Эмануил Русев

1
Стандарт описывает протокол. Протокол ничего не описывает. Английский язык не описывает мой ответ на ваш вопрос. Мой ответ не на английском языке.
Дэвид Шварц

2
@Emanuil, протокол HTTP не описывает ответ с веб-страницы; в нем описаны способы связи с веб-сервером (включая способы получения веб-страниц с указанного сервера). Сам протокол не в последнюю очередь касается реальных веб-страниц, которые он переносит; с точки зрения протокола, полезная нагрузка - это просто последовательность частей, каждая из которых содержит последовательность символов. Вот почему контент может быть практически любым: изображения, документы XML и еще много чего. И именно поэтому HTTP может использоваться в качестве транспортного механизма для веб-сервисов.
Петер Тёрёк,

2
@ Эммануил, нет. Подумайте, что происходит, когда вы сохраняете веб-страницу как локальный файл (иерархия). Вы все еще можете открыть его в браузере, и он выглядит точно так же, хотя HTTP больше не используется. Также обратите внимание на то, что происходит при загрузке фильма, документа PDF и т. Д. Из Интернета: полезная нагрузка ответа HTTP не имеет ничего общего с веб-страницей, это просто файл в произвольном порядке (MPEG3, PDF, вы называете это) формат.
Петер Тёрёк

2
@Emanuil, HTTP действительно определяет, как должен выглядеть пакет (HTTP-сообщение), но он также определяет, что разные стороны (сервер, клиент, прокси-сервер) должны / не могут / не могут делать с сообщением: как (не) это может быть изменены и / или сохранены, какие ответы отправлять в определенных ситуациях и т. д. и т. д.
Péter Török

8

Протокол определяет набор правил, используемых двумя или более сторонами для взаимодействия между собой.

Стандарт - это формализованный протокол, принятый большинством сторон , внедряющих его.


Это прямо к делу, спасибо +1 за это
Owais Qureshi

Не все стандарты являются протоколами. Например, ISO 216 определяет, какие большие листы бумаги. Это не имеет ничего общего с протоколами.
Саймон Б.

@SimonB «A4» - это 210x297 мм, «A3» - 297x420 и т. Д. Этот набор правил формирует протокол, который вы используете для общения, когда вы идете в магазин и просите кого-нибудь напечатать что-нибудь. ISO 216 формализует этот протокол, как он изложен в письменной форме.
Trasplazio Garzuglio

3

Коммуникационные протоколы , по определению, представляют собой наборы правил, которые регулируют форматы и взаимодействия между взаимодействующими сторонами. Эти правила могут быть неявными и неформальными, как в обычных повседневных социальных взаимодействиях между людьми. Но электроника, и особенно цифровые компьютеры, требуют, чтобы вещи были гораздо более четкими и формализованными, чтобы происходило надежное общение.

Стандартный в этом контексте является попыткой решить область потенциального непонимания или несогласия. Протоколы связи являются одной из многих областей, к которым могут применяться стандарты. Известным набором стандартов, которые не являются протоколами связи, являются, например, вес SI и стандарты измерения. Они предоставляют фиксированную ссылку, с которой вы можете сравнить любое заданное количество, чтобы измерить его таким образом, чтобы он был однозначным для всех, кто имеет доступ к стандарту или в разумном приближении к нему.

Поэтому Стандарт протокола связи является формализацией правил протокола связи, так что те, кто имеет доступ к стандарту, могут (в идеале) однозначно определить, соответствует ли какая-либо конкретная попытка связи этим правилам. Точно так же, как сравнение определенной массы металла со стандартным килограммом СИ будет определять, насколько масса близка к килограмму, сравнение конкретной реализации протокола со стандартом протокола определит, действительно ли он следует этому протоколу в соответствии со стандартом. Когда все стороны должным образом следуют протоколу, как формализовано в стандарте, это (опять же, в идеале) гарантированно приведет к уровню связи, который протокол был разработан, чтобы приспособиться.

Спецификация протокола связи является средством , с помощью которых правила и форматы протокола связи могут быть описаны на формальный уровне, и это часто часть из (действительно, самой большой части) со стандартным протоколом связи. Хотя цель стандарта заключается в создании средства , чтобы определить , является ли то , что действительно является примером стандартизированной вещи, цель спецификации является точно определить , что вещь находится в том случае , когда вещь определяется правилами и форматами, как протокол связи есть. Однозначное определение того, что является чем-то, может использоваться как для создания нового экземпляра этой вещи, так и для определения, является ли существующая вещь экземпляром определяемой вещи.

Таким образом, спецификация может использоваться в качестве стандарта, но будучи стандартом, она также имеет вес некоторого социального соглашения о том, что есть смысл в соблюдении спецификации достаточно хорошо для нескольких реализаций, чтобы иметь некоторую гарантию совместной работы. Стороны, заинтересованные в этом соглашении, работают вместе, чтобы сформировать орган по стандартизации, чтобы определить стандарты, с которыми они согласятся, с целью их желания иметь возможность полагаться на соответствие протоколу. Без наличия этого социального соглашения и органа по стандартизации, с помощью которого создаются стандарты, спецификации протоколов, как правило, не считаются стандартами, хотя четко определенные спецификации определенно могут использоваться в качестве стандартов.


2

В моем понимании, протокол описывает связь между двумя точками. Одна точка создает некоторые данные, которые другая точка должна интерпретировать. Протокол описывает формат данных, состояния, запросы и ответы и так далее. Например, HTTP-запрос от клиента и ответ от сервера.

Для конкретной проблемы существует множество возможных протоколов. Из них стандарт выбирает один конкретный протокол и делает его своего рода обязательным. Если все конечные точки связи действуют в соответствии со стандартом, они могут общаться друг с другом и понимать друг друга.

Это может произойти официально или неофициально, поскольку все коммуникационные партнеры просто используют один и тот же протокол, который затем стал стандартным протоколом.


0

Определение протокола:

оригинальный проект, протокол или запись, из которой готовится документ, особенно договор.

Определение стандарта:

что-то, рассматриваемое органом или по общему согласию в качестве основы для сравнения; утвержденная модель.

Вернуться к вашему вопросу

Если протокол - это просто набор правил, не будет ли проще использовать термин «стандарт» (как в «стандарте HTTP»)?

HTTP - это и протокол, и стандарт. На самом деле это стандартный протокол.

Цитируется из вики

Разработка стандартов HTTP координировалась Инженерной рабочей группой по Интернету (IETF) и Консорциумом World Wide Web (W3C), кульминацией которой стала публикация серии запросов на комментарии (RFC), прежде всего RFC 2616 (июнь 1999 г.) , который определяет HTTP / 1.1, версию HTTP в общем использовании.


Другими словами, «протокол» - это то, что спецификация формализует.
Дэвид Шварц

0

Компьютерный протокол - это набор правил, определяющих формат и передачу данных. Термин протокол используется потому, что он близко отражает правила поведения между людьми или нациями. Набор формальных правил, распространенных в компьютерных протоколах, очень похож на правила дипломатии (дипломатический протокол) или этикета (персональный протокол). Стандарт - это нечто иное, а не богатое слово для описания взаимодействий, которые выражаются в протоколе. Также, как отмечают другие, протокол не обязательно должен быть стандартным.

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


0

Да, протокол - это набор правил.

Это не означает, что любой набор правил является протоколом.
Закон - это набор правил, которые я бы не назвал протоколом.
HTML - это набор правил для формата, который я бы не назвал протоколом.

Стандарт - это то, что широко применяется.
Стандарт не ограничен протоколом или правилами.
16-дюймовый обод для автомобиля - это то, что я бы назвал стандартом.

Протокол связи представляет собой набор правил , специально для общения . Он может быть стандартным или фирменным. Если есть орган по стандартизации, то это, безусловно, стандарт.

У вас также есть Open. Open публикуется и может или не может быть стандартом. У меня может быть открытый проприетарный протокол, означающий, что он здесь и здесь, я работаю, чтобы его можно было использовать, но я не предлагаю его в качестве отраслевого стандарта.

Это может быть даже стандартным и проприетарным. В первые дни формат PDF был проприетарным, но он все еще был представлен в качестве стандарта.

В кратком изложении протокол и стандарт просто не одно и то же.


-3

Я думаю, что для ответа на этот вопрос мы можем включить и другие термины, чтобы сделать концепции более понятными:

  1. Протокол: набор правил для связи между компьютерами (таким образом, вы слышите протокол обычно в области сети)
  2. Стандарт: уровень качества; Таким образом, вы можете написать код, который работает, но не является качественным кодом или нестандартным.
  3. Соглашение: просто своего рода соглашение, как сказать кому-то, чтобы поместить изображения внутри img папку. Несоблюдение соглашений не нарушает функциональность, но считается плохим среди людей, которые согласились на это соглашение.
  4. Спецификация: подробное описание, особенно то, которое предоставляет информацию, необходимую для создания, создания или производства чего-либо.

Разве протокол не является абстрактной вещью, в которой правила описывают правила? Игра в шахматы - это не то же самое, что правила игры в шахматы? Разве протоколы больше не похожи на игры, чем правила?
Дэвид Шварц

1
«Уровень качества» - слишком узкое определение. Как стандарт ISO 3166-1 является уровнем качества?
Эмануил Русев
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.