Какой протокол используется для передачи сообщения в приложении HTTP?

1

Это из интервью - http://www.glassdoor.com/Interview/Yelp-Software-Engineering-Intern-Interview-Questions-EI_IE43314.0,4_KO5,32_IP2.htm

"протокол, используемый для передачи сообщения в приложении HTTP?"

Я знаю, что протокол определяет «метод обмена данными через компьютерную сеть». http://www.computerhope.com/jargon/p/protocol.htm

Я знаю, что HTTP - это «протокол, используемый для передачи данных по всемирной паутине». ( http://www.computerhope.com/jargon/p/protocol.htm )

Я знаю, что приложение - это «программа с пользовательским интерфейсом» ( https://stackoverflow.com/questions/4431819/what-are-the-differences-between-a-program-and-an-application )

Объединяя все эти определения, я бы сказал, что приложение HTTP - это просто приложение, к которому можно получить доступ через Интернет, скажем, StackOverFlow. Но для передачи сообщения в приложение, не будет ли это также сделано через HTTP, потому что это включает в себя отправку данных по всему Интернету?

Является ли HTTP правильным ответом на это? Или что-то еще?

committedandroider
источник
1
Вопрос не очень понятен. Что такое «HTTP-приложение»? Это просто общее применение протокола HTTP или веб-браузера, может быть, веб-сервер, возможно, мобильное приложение? И действительно, на разных уровнях используется множество протоколов, вопрос неясен.
heavyd
3
Я собираюсь немного остановиться здесь [без вопросов, контекста / возможности прояснить], но они могут означать транспортный протокол - тогда - в действительности - это будет tcp. НО - это не стандартное требование. Вы можете использовать другой транспорт, если хотите! Смотрите, например, здесь: stackoverflow.com/questions/323351/does-http-use-udp
wmz
Интервью вопросы редко имеют правильные или неправильные ответы. Вопросы часто расплывчаты, чтобы не дать человеку просто воспроизвести то, что он гуглил или запомнил. Интервьюер хочет услышать, как вы относитесь к проблеме, и часто правильный «ответ» состоит в том, чтобы задать интервью вопрос, который указывает, где его вопрос был неоднозначным, и помогает ему прояснить его. "Вы имели в виду транспортный протокол?" например.
David Schwartz

Ответы:

0

Я не вижу этот вопрос в ссылке, которую вы разместили. И "протокол используется для передачи сообщений в приложении HTTP?" это не полный вопрос, поэтому трудно сказать, что действительно было задано.

Ваши комментарии абсолютно правы. HTTP-приложение говорит HTTP с клиентами или серверами. Что касается сообщения для передачи, его необходимо спросить, является ли это внешним или внутренним сообщением. Внутренние сообщения могут быть любого типа по любому протоколу. Если это сообщение, которое будет отправлено с HTTP, протокол будет HTTP, так просто.

Если вопрос в том, какие другие протоколы обычно используются, вы можете начать с TCP, IP, Ethernet. Для HTTPS вы также должны подумать о SSL и TLS.

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

Werner Henze
источник
Вопрос третий обзор вниз
committedandroider
0

Передача сообщения в протоколе HTTP: XML (UDDI, WSDL, SOAP); WS-Security; XML-RPC; JSON; REST

Протокол бизнес-процесса: BPEL, BPMN

Протокол сообщений: SOAP, AMQP, MQTT, STOMP

Java: JMS

Разъем: WebSocket

Протокол объекта брокера: COM / DCOM, CORBA / IIOP (HTIOP, SSLIOP), JAVA RMI

Разъем: WebSocket

Протокол сообщений Adobe: AMF

P2P: WebRTC

Если вы посмотрите на первый список протоколов и рассмотрите протокол http как службу, работающую с XML, с этой точки зрения эти протоколы имеют наибольшую близость.

Да, все эти протоколы могут быть включены в другие протоколы, такие как FTP, или даже использовать дейтаграммы UDP.

Особенно если учесть уровень протоколов IP - TCP / IP, UDP / IP.

Но, помимо прочего, HTML, SOAP, UDDI и другие протоколы первого списка являются 7 уровнями сетевой модели OSI (приложения). И этот список упакован или передан с использованием HTML. Либо в качестве параметров, либо в качестве файлового сервера в HTTP.

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

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


Все 7 уровней включают свои названия, и каждый представляет следующий, как пакет.

Дело в том, что чем выше уровень модели OSI, тем легче получить доступ к интерьеру кукольного человечка. enter image description here

Большинство сможет работать с информацией на верхних уровнях. Мне кажется, важнее окончательная информация.

Могут также наслаждаться электромагнитные колебания - например, северное сияние. enter image description here

Или трансформатор Тесла. enter image description here

Но это эстетическое удовольствие.

Протоколы на уровне задач 7 - практические и прагматичные.

Мне кажется, что сообщение - это модель OSI, которая может быть основана на возможности взаимодействия в веб-системах.

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

Но колебательные процессы идут дальше - через конденсатор, и рассматривают этот процесс как сигнал или информацию, и процесс примет сообщение.

Таким образом, вам нужно решить - что это за сообщение? Что такое среда передачи? И макроскопический уровень абстракции, на котором вы решаете рассмотреть это явление.

STTR
источник
Как насчет TCP, как сказано в одном из комментариев? Это имеет смысл, "транспорт"
committedandroider
Обновление @committedandroider. Веб-приложение использует 1-й протокол в качестве команды (SOAP) или приложения каталога (UDDI), либо отправляет набор данных (JSON), либо использует параметры (REST) ​​... и это 7 (приложение) уровня OSI. Ох, транспорт - VPN - как образец) или SPX))).
STTR
Я имею в виду, это длинный список, ха-ха. С точки зрения ответа на этот вопрос, TCP является протоколом транспортного уровня, поэтому я предполагаю, что он используется при «передаче» сообщений.
committedandroider
@STTR Могу ли я получить ваш мозг, пожалуйста. Тот факт, что ты знал обо всех этих головах, заставляет меня немного завидовать твоим клеткам мозга.
Codezilla
@committedandroider Update2, Codezilla - доктор Шелдон Купер?)) Да, отправьте вопрос).
STTR
0

Какой протокол используется для передачи сообщения в приложении HTTP?

Если вы используете браузер для доступа к приложению HTTP, ваш браузер сообщает приложению HTTP или SPDY, и приложение отвечает по тому же протоколу.

«HTTP-приложение» может означать нечто, имеющее «HTTP API» - что в основном означает, что оно предназначено не для использования браузером или пользователем, а для программы. Они все еще будут использовать HTTP / SPDY протокол выдавать запросы и получать ответы - но содержание может не быть HTML - это может быть XML или JSON, или это может быть просто HTTP-запрос GET без тела.

LawrenceC
источник