Насколько активный из HTTP могут/, играют роль в приложении Ajax

"активный" там в HTTP. Некоторые говорят, что это хороший должно использоваться, но я не могу добраться до любого заключения. Поэтому обеспечьте свой вход/ответ/представления, таким образом, я могу получить некоторое основание для этого,

  1. Что это делает?
  2. Сценарий, где это должно и не должно быть сделано?
  3. Как это может подать заявку Ajax лучше?
  4. DO's рисков и DONT's если таковые имеются?

    Спасибо всем за исходные данные.

7
задан rene 1 June 2016 в 13:37
поделиться

3 ответа

Во-первых, если ваше подключение к серверу использует HTTP / 1.1, то вы, скорее всего, уже используете «сохранять живую».

Что это? Логически HTTP - это протокол без подключения. Это каждый запрос / ответ на сервер создает новое соединение, делает свой бизнес и падает соединение. Однако в http / 1.1 поведение по умолчанию - сохранить соединение, открытое для использования последующими запросами на сервер. Заголовок «Beach-Alive» был добавлен в HTTP / 1.0, чтобы позволить этому поведению быть выбранным, на HTTP / 1.1 на сервере необходимо отказаться от закрытия сама соединения и / или отправлять заголовок «Connection-Blace» в отклик.

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

Как лучше сделать ваше Ajax App лучше? Вы, вероятно, уже получаете выгоду из этого.

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

13
ответ дан 6 December 2019 в 14:04
поделиться

Орудие UITabBarControllerDelegate, например, в вашем делегате приложения applicationDidFinishLaunching

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    tabBarController.delegate = self;
    [window addSubview:tabBarController.view];
}

Тогда осуществляют также:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

первый метод называют перед выключателем представления и дает вам шанс 'наложить вето' на выключатель представления, возвращаясь НИКАКОЙ

, второй метод называют после того, как выключатель представления произошел

-121--1447345-
  1. Он сохраняет TCP-сокет открытым для клиента, поэтому у вас нет повторного подключения для отправки другого HTTP-запроса;
  2. Keep-alive повышает производительность HTTP при наличии большого количества запросов в строке. Однако он не должен использоваться, если запросы являются редкими (сервер обычно закрывает соединение, если в течение некоторого периода времени от клиента больше не поступает запросов).
  3. Если приложение AJAX отправляет много запросов на сервер keep-alives, это повышает его производительность.
  4. Существует риск истощения сокетов на стороне сервера, поэтому сервер имеет права на прерывание даже активных соединений.
1
ответ дан 6 December 2019 в 14:04
поделиться

На самом деле это сводится к вопросам производительности и ресурса.

Использование High (Er) сохраняет живую, снижает задержку по запросам. Это особенно проблема, если вы запускаете SSL, где там есть дополнительные рукопожатия, чтобы установить соединение.

OTOH, это будет означать, что там дополнительные серверные процессы. Отрагители сидя на холостом ходу, ожидая последующего запроса или сохранения, чтобы истечь. Это может бороться с памятью и, следовательно, замедлять ваш сервер.

Итак, вам действительно нужно играть вокруг и посмотреть, что приемлемо в зависимости от производительности браузера VS Server Load.

Аутентификация (базовая / на основе дайджеста / сеанса) не актуальна - это запрос, который аутентифицирован - не соединение сокета.

Обратите внимание, что в последний раз я выполнил новую установку Apache, он пришел с настройкой по умолчанию 5 секунд для сохранения живой. Это смешно давно для сайта неаджакса.

c.

1
ответ дан 6 December 2019 в 14:04
поделиться
Другие вопросы по тегам:

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