WebRequest() KeepAlive.

 
В документации не нашел, поддерживают-ли веб запросы через веб реквест удержание коннекта для последующих запросов, что бы не создавать коннект заново? Это нужно для увеличения скорости передачи.
 

Нашел вот здесь: https://www.mql5.com/ru/code/12296

Примечание

При использовании второго варианта функции WebRequest() необходимо учитывать, что следующие параметры переданные пользователем в заголовке игнорируются, для них всегда используются значения:

"Accept-Language: en\r\n"
"Accept-Charset: *,utf-8\r\n"
"Connection: Keep-Alive\r\n"
"Proxy-Connection: Keep-Alive\r\n"
"Pragma: no-cache\r\n"
"Cache-Control: no-cache\r\n",

Т.е. коннект держится по умолчанию? при следующем запросе будет использоваться уже существующее соединение? Ничего дополнительно в последующем запросе менять не нужно?

Автоматическая публикация с WebRequest()
Автоматическая публикация с WebRequest()
  • голосов: 24
  • 2015.01.16
  • MetaQuotes Software Corp.
  • www.mql5.com
Пример публикации сообщения с картинкой на сайте MQL5.com с помощью функции WebRequest(). Показан пример авторизации с использованием логина и пароля пользователя, а также вставка картинки в текст сообщения.
 
Какая разница? Либо устраивает скорость и пользуетесь, либо не устраивает и не пользуетесь.
 
Dmitry Fedoseev:
Какая разница? Либо устраивает скорость и пользуетесь, либо не устраивает и не пользуетесь.
Всмысле какая разница? разница в том что непонятно держится коннект или нужно что-то дополнительно для этого сделать. Для веб запроса, что бы не тратить дополнительное время каждый раз на реконнект.
 
Maxim Dmitrievsky:
Всмысле какая разница? разница в том что непонятно держится коннект или нужно что-то дополнительно для этого сделать. Для веб запроса, что бы не тратить дополнительное время каждый раз на реконнект.
Проверил на локальном сервере. Keep-alive от WebRequest работает. Разумеется, сколько именно времени сервер будет сохранять коннект, определяет он сам (его настройки).
 
Maxim Dmitrievsky:

Т.е. коннект держится по умолчанию?

Получается да. Вы ведь можете это легко проверить сниффером.
 
Stanislav Korotky:
Проверил на локальном сервере. Keep-alive от WebRequest работает. Разумеется, сколько именно времени сервер будет сохранять коннект, определяет он сам (его настройки).

т.е. при новом запросе новое соединение не создается, а используется уже установленное? А в случае потери соединения создается заново? В самом запросе ничего менять не нужно что бы использовалось уже установленное соединение?

Охото код оптимизировать, чтоб все работало нормально :) 

 
Комбинатор:
Получается да. Вы ведь можете это легко проверить сниффером.
знать бы как.. я не разбираюсь в этих премудростях.. просто увидел что большое время загрузки веб странички (через Advanced REST client для Google Chrome), потом нагуглил про keep-alive :) т.е. типа при следующих запросах время загрузки может быть существенно меншье.
 
Maxim Dmitrievsky:
знать бы как.. я не разбираюсь в этих премудростях.. просто увидел что большое время загрузки веб странички (через Advanced REST client для Google Chrome), потом нагуглил про keep-alive :) т.е. типа при следующих запросах время загрузки может быть существенно меншье.
Тогда нужно там посмотреть, на что именно расходуется основное время. Если сама страница большая и неоптимизированная по ресурсам (например, много мелких файлов, для каждого из которых гоняется http-заголовок, несмотря на сохраненное соединение), то накладные расходы на установление соединения могут не оказывать заметного влияния.
Причина обращения: