Есть ли ограничение на кол-во данных,
От: Арещенко Максим Николаевич Россия  
Дата: 03.07.02 13:47
Оценка:
передаваемых в форме?
Макс
Re: Есть ли ограничение на кол-во данных,
От: Lloyd Россия  
Дата: 03.07.02 14:15
Оценка:
Здравствуйте Арещенко Максим Николаевич, Вы писали:

АМН>передаваемых в форме?


Ограничение есть.

Для get где-то порядка 230 символов. Для post'а точной цифры я не нашел, но ограничение есть. Самому пришлось как-то столкнуться.
Re[2]: Есть ли ограничение на кол-во данных,
От: Lexey Россия  
Дата: 08.07.02 19:46
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Здравствуйте Арещенко Максим Николаевич, Вы писали:


АМН>>передаваемых в форме?


L>Ограничение есть.


L>Для get где-то порядка 230 символов. Для post'а точной цифры я не нашел, но ограничение есть. Самому пришлось как-то столкнуться.


Читаем RFC 2616:
The HTTP protocol does not place any a priori limit on the length of
a URI. Servers MUST be able to handle the URI of any resource they
serve, and SHOULD be able to handle URIs of unbounded length if they
provide GET-based forms that could generate such URIs. A server
SHOULD return 414 (Request-URI Too Long) status if a URI is longer
than the server can handle (see section 10.4.15).

Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.

Т.е. стандартом никаких ограничений на длину URI не предписывается. А вот конкретные сервера могут не понимать длинных GET'ов. Кроме того, старые клиенты или прокси могут резать URI до 255 байтов.

Для POST'а вообще нет никаких ограничений.
Re[3]: Есть ли ограничение на кол-во данных,
От: Konstantin Sokolovskiy  
Дата: 09.07.02 03:47
Оценка:
Здравствуйте Lexey, Вы писали:

L>Т.е. стандартом никаких ограничений на длину URI не предписывается. А вот конкретные сервера могут не понимать длинных GET'ов. Кроме того, старые клиенты или прокси могут резать URI до 255 байтов.


Дело еще немного интереснее, на самом деле :-)
Не только от серверов все это зависит, но и от клиента тоже :-)
Скажем, IE передает методом get только порядка 2К текста. В наскоро состряпанном тесте примерно 3000 символов на путь ( адрес + QueryString ).

Netscape же спокойно у меня передал 30 000 символов.
Re[4]: Есть ли ограничение на кол-во данных,
От: Lexey Россия  
Дата: 09.07.02 06:15
Оценка:
Здравствуйте Konstantin Sokolovskiy, Вы писали:

KS>Здравствуйте Lexey, Вы писали:


L>>Т.е. стандартом никаких ограничений на длину URI не предписывается. А вот конкретные сервера могут не понимать длинных GET'ов. Кроме того, старые клиенты или прокси могут резать URI до 255 байтов.


KS>Дело еще немного интереснее, на самом деле

KS>Не только от серверов все это зависит, но и от клиента тоже
KS>Скажем, IE передает методом get только порядка 2К текста. В наскоро состряпанном тесте примерно 3000 символов на путь ( адрес + QueryString ).

Может быть, хотя слабо верится. Не должен уважающий себя клиент иметь ограничение на длину URI меньше 4kb.
Re[5]: Есть ли ограничение на кол-во данных,
От: Konstantin Sokolovskiy  
Дата: 09.07.02 06:23
Оценка:
Здравствуйте Lexey, Вы писали:

L>Может быть, хотя слабо верится. Не должен уважающий себя клиент иметь ограничение на длину URI меньше 4kb.


И тем не менее.
<%Response.Expires = -1 %>
<%=Now %><br>
<%=Len( Request.QueryString( "test" ) ) %><br>
<%=Len( Request.QueryString ) %><br>
<form action="<%=Request.ServerVariables( "SCRIPT_NAME" ) %>" method=get>
<textarea cols=100 rows=15 style="width:100%" name="test"><%=Request.QueryString( "test" )%></textarea><br>
<input type=submit>
</form>


Предлагаю попробовать
А еще можете сделать следующее: в address bar ввести адрес с соответствующим левым get-параметром. Так вот, эта строчка имеет некий максимум длины вводимого текста. Именно те самые 3 000 символов.
Re[6]: Есть ли ограничение на кол-во данных,
От: Lexey Россия  
Дата: 09.07.02 06:44
Оценка:
Здравствуйте Konstantin Sokolovskiy, Вы писали:

KS>Здравствуйте Lexey, Вы писали:


L>>Может быть, хотя слабо верится. Не должен уважающий себя клиент иметь ограничение на длину URI меньше 4kb.


KS>И тем не менее.


Убедил.
Re: Есть ли ограничение на кол-во данных,
От: andik  
Дата: 09.07.02 09:40
Оценка:
Здравствуйте Арещенко Максим Николаевич, Вы писали:

АМН>передаваемых в форме?


Столкнулся с ситуацией, при post передавалось hidden поле, в значении которого передавалась xml-строка очень большой длины. Так вот IIS при обращении Request.Form("field"), выдавал Stack Overflow
Все вылечилось когда происходил post multipart/form-data
вот тут уж точно не должно быть ограничений
Re[2]: Есть ли ограничение на кол-во данных,
От: Konstantin Sokolovskiy  
Дата: 09.07.02 09:47
Оценка:
Здравствуйте andik, Вы писали:

A>Столкнулся с ситуацией, при post передавалось hidden поле, в значении которого передавалась xml-строка очень большой длины. Так вот IIS при обращении Request.Form("field"), выдавал Stack Overflow


Совершенно верно.
IIS не умеет (точнее, не умел) работать с формой, если размер одного поля превышает 100К. Это описано в MSDN (Q273482).
Относилось это точно к версии 4.0. Насчет 5.0 сейчас не помню, в 5.1 этой проблемы уже нет. Думаю, что в 6.0 тоже.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.