Отправка оценки Довольной Длины HTTP от Сервлета и т.д.

Я полагаю, вы ищете event.stopPropagation

РЕДАКТИРОВАТЬ: оказывается, что это был неправильный вариант для целей Ника. Пожалуйста, смотрите его ответ .

5
задан skaffman 12 October 2009 в 08:55
поделиться

4 ответа

Нет, значение Content-Length должно быть точной длиной содержимого :

Когда Content-Length дается в сообщении, где тело сообщения разрешено, значение его поля ДОЛЖНО точно соответствовать количеству октетов в теле сообщения. Пользовательские агенты HTTP / 1.1 ДОЛЖНЫ уведомлять пользователя о получении и обнаружении недопустимой длины.

Таким образом, вы не можете отправить только приблизительное значение Content-Length , чтобы получить индикатор выполнения.

7
ответ дан 13 December 2019 в 19:30
поделиться

Единственный способ сделать это (, как описано в RFC ) - не устанавливать заголовок Content-Length, т.е. заголовок ответа не содержит строки Content-Length. В этом случае браузер не знает длины тела, поэтому сервер «сообщает» браузеру, что все тело было отправлено, закрывая соединение .

Я не уверен, закроет ли Java-контейнер автоматически соединение в этом случае или вы можете сделать это самостоятельно через какой-то фильтр.

Отвечая на ваш вопрос: я не думаю, что это возможно дать браузеру оценку.

0
ответ дан 13 December 2019 в 19:30
поделиться

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

1
ответ дан 13 December 2019 в 19:30
поделиться

Если длина вашего контента заранее не известна, вы можете использовать «фрагментированную» кодировку контента (согласно HTTP версии 1.1). Однако это не решит проблему с индикатором выполнения - и нет никакого способа заставить его работать, если вы не знаете, сколько контента вы собираетесь отправить.

0
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

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