TCP по сравнению со сравнительным тестом Http

См. , Как выбрать энную строку в таблице базы данных SQL? .

SQL Sybase Где угодно поддерживает:

SELECT TOP 1 START AT 2 value from table ORDER BY value

49
задан Ash Berlin-Taylor 26 September 2011 в 00:25
поделиться

3 ответа

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

Вы можете рассмотреть HTTP из-за его простоты использования и простоты, что в конечном итоге сокращает время разработки. Если вы делаете что-то, что может быть напрямую использовано браузером (через вызов AJAX), вам следует использовать HTTP. Чтобы несовременный браузер мог напрямую использовать TCP-соединения без HTTP, вам придется использовать Flash или Silverlight, и это обычно происходит с богатым контентом, таким как видео и / или аудио. Однако многие современные браузеры сейчас (по состоянию на 2013 год) поддерживают API для доступа к сетевым, аудио и видео ресурсам напрямую через JavaScript. Единственное, что следует учитывать, - это уровень использования современных веб-браузеров среди ваших пользователей; см. caniuse.com для получения последней информации о совместимости браузеров.

Что касается тестов, это - единственное, что я нашел. См. Страницу 5, на ней есть график производительности. Обратите внимание, что на самом деле он не сравнивает яблоки с яблоками, так как сравнивает параметр данных TCP / Binary с параметром данных HTTP / XML. Возникает вопрос: какие данные выдают ваши сервисы? двоичный (видео, аудио, файлы) или текст (JSON, XML, HTML)?

В целом ориентированная на производительность система, например, в военном или финансовом секторах, вероятно, будет использовать простые TCP-соединения. В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

com для получения последней информации о совместимости браузеров.

Что касается тестов, это - единственное, что я нашел. См. Страницу 5, на ней есть график производительности. Обратите внимание, что на самом деле он не сравнивает яблоки с яблоками, так как сравнивает параметр данных TCP / Binary с параметром данных HTTP / XML. Возникает вопрос: какие данные выдают ваши сервисы? двоичный (видео, аудио, файлы) или текст (JSON, XML, HTML)?

В целом ориентированная на производительность система, например, в военном или финансовом секторах, вероятно, будет использовать простые TCP-соединения. В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

com для получения последней информации о совместимости браузеров.

Что касается тестов, это - единственное, что я нашел. См. Страницу 5, на ней есть график производительности. Обратите внимание, что на самом деле он не сравнивает яблоки с яблоками, так как сравнивает параметр данных TCP / Binary с параметром данных HTTP / XML. Возникает вопрос: какие данные выдают ваши сервисы? двоичный (видео, аудио, файлы) или текст (JSON, XML, HTML)?

В целом ориентированная на производительность система, например, в военном или финансовом секторах, вероятно, будет использовать простые TCP-соединения. В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

Я действительно сравниваю яблоки с яблоками, поскольку он сравнивает параметр данных TCP / Binary с параметром данных HTTP / XML. Возникает вопрос: какие данные выдают ваши сервисы? двоичный (видео, аудио, файлы) или текст (JSON, XML, HTML)?

В целом ориентированная на производительность система, например, в военном или финансовом секторах, вероятно, будет использовать простые TCP-соединения. В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

Я действительно сравниваю яблоки с яблоками, так как он сравнивает параметр данных TCP / Binary с параметром данных HTTP / XML. Возникает вопрос: какие данные выдают ваши сервисы? двоичный (видео, аудио, файлы) или текст (JSON, XML, HTML)?

В целом ориентированная на производительность система, например, в военном или финансовом секторах, вероятно, будет использовать простые TCP-соединения. В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

В то время как обычные веб-компании предпочтут использовать HTTP и использовать IIS или Apache для размещения своих служб.

71
ответ дан 7 November 2019 в 11:33
поделиться

Вопрос, на который вам действительно нужен ответ: «Будет ли TCP или HTTP быстрее для моего приложения». Ответ заключается в том, что это зависит от характера вашего приложения и от того, как вы используете TCP и / или HTTP в своем приложении. Общий тест HTTP vs TCP не ответит на ваш вопрос, потому что велика вероятность, что тест не будет соответствовать поведению вашего приложения.

Теоретически оптимально разработанное / реализованное решение с использованием TCP будет быстрее, чем решение, использующее HTTP . Но также может потребоваться значительно больше работы для реализации ... в зависимости от деталей вашего приложения.

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

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

33
ответ дан 7 November 2019 в 11:33
поделиться

Вы всегда можете протестировать его.

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

Кроме того, спецификации HTTP определяют все виды функций (и реализации клиентов / серверов, которые вы можете использовать "

6
ответ дан 7 November 2019 в 11:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: