Запутался в протоколе HTTP - PullRequest
       34

Запутался в протоколе HTTP

2 голосов
/ 09 октября 2011

Я немного запутался в протоколе HTTP, из того, что я знаю, HTTP был создан для доставки веб-страниц и прежде всего для отправки сообщений между веб-сервером и браузером.Но кажется, что HTTP используется везде во многих приложениях, которые действительно используют Интернет для общения, но не являются веб-приложениями («приложения, которые используют веб-браузер в качестве клиента»).потому что я начал разрабатывать приложение для iPhone (своего рода навигационное приложение), и мне нужно отправлять сообщения между клиентом iPhone и моим сервером.Теперь люди говорят мне, чтобы я использовал протокол HTTP, но разве это действительно так?

Ответы [ 3 ]

1 голос
/ 15 июня 2012

Ваш вопрос действителен, если я могу повторить, почему мы используем HTTP для каждой связи сервер-клиент, хотя он был предназначен, как правило, для случая использования браузера и веб-сервера и может быть менее эффективным по сравнению с прямой связью TCP.Мои причины приведены ниже:

  • Протокол HTTP чрезвычайно прост и, как и многие вещи в технической простоте, превосходит сложность, даже если комплексное решение более эффективно (если только с огромным запасом).
  • HTTPПротокол не поддерживает состояние, что значительно упрощает горизонтальное масштабирование, добавляя больше компьютеров и балансируя нагрузку с помощью простых методов балансировки нагрузки, таких как циклический перебор.
  • Легко найти разумный и бесплатный HTTP-сервер для быстрого запуска и запуска вашего приложения, чемвнедрение собственных протоколов, серверов и отвлечение внимания от реальной проблемы, которую вы хотите решить.
  • Как и любая простая технология, используемая многими сторонами, она со временем улучшается и благодаря современным функциям, таким как Keep-Alive, chunkedпередача, конвейерная обработка вы можете преодолеть некоторые недостатки накладных расходов на соединения.
1 голос
/ 09 октября 2011

Да, это путь. Как еще вы хотите пойти по этому поводу?

Web Server <-------HTTP-------> Client

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

0 голосов
/ 02 июня 2013

Договорились, что переход на REST и QUERY из SOAP - это хорошо. В настоящее время мы внедряем систему, которая будет использовать HTTP в качестве механизма двунаправленной передачи. Ответ, возвращаемый для загрузки на сервер, является стандартным ответом HTTP, таким как 200 = успех без тела. Ответ на запрос представляет собой текстовую страницу ASCII с ответом в качестве основного текста. Затем мы просто превращаем ASCII обратно в двоичный файл, чтобы использовать данные. Преимущество этого метода в том, что вам просто нужно предоставить правильный URL и параметры, и вы можете справиться со всем. Если ваш стек протоколов не знает, как форматировать сообщения и получать запросы, вам придется сделать это самостоятельно. Хотя это утомительно, это хорошо документировано в W3C Protocols , однако, немного утомительно, чтобы пройти через все это самостоятельно. Так что если вам нужно это сделать, то я рекомендую получить электронную книгу, чтобы разобраться в деталях. Вот некоторые примеры: HTTP

...