logo search
[ПСП] / lab22

Синтаксис строки запроса http

Файл ASP, которому мы передаем данные из нашей формы, должен суметь из­влечь эти данные из строки запроса. Сама строка запроса с данными формы вы­глядит как обычный адрес в адресной строке браузера с добавлением нескольких пар имя — значение:

http://loca1host/Cars/СlassicAspPage.asp?txtUserName= Chucky&txtPassword=somepassword&btnSubmit=Submit

Обратите внимание, что вся строка запроса разбивается на две части символом знака вопроса (?). Слева от знака вопроса находится адрес получателя данных, а справа — сами пары имя — значение (например, txtUserName=Chucky).

Как можно убедиться, каждая пара имя — значение отделена от другой пары символом амперсанда (&). Строка в нашем примере не представляет никаких слож­ностей для анализа, поскольку передаваемые значения очень просты. Однако, к примеру, если бы нам потребовалось поместить внутрь какого-либо значения про­бел (Chucky заменить на Chucky Chuckles), то строка запроса выглядела бы уже сле­дующим образом:

http://Iocalhost/Cars/ClassicAspPage.asp?txtUserName= Chucky+Chuckles&txtPassword=somepassword&btnSubmit=Submit

Таким образом, вместо пробелов в передаваемых значениях подставляется сим­вол +. Если нам придет в голову поставить между Chucky и Chuckles пять пробелов, то строка запроса будет выглядеть так:

http://Iocalhost/Cars/ClassicAspPage.asp?txtUserName= Chucky+++++Chukles&txtPassworcl=somepassword&btnSubmit=Submit

А что будет, если в передаваемом значении попадутся какие-нибудь служеб­ные символы? Они будут переданы в виде символа процента, за которым следует шестнадцатеричное значение соответствующего символа ASCII. Например, если пользователь придумал себе пароль, который выглядит как Hellо^77, то этот па­роль будет передан так:

http://localhost/Cars/ClassicAspPage.asp?txtUserName= Chucky+++++Chuckles&txtPassword=Hello%5E77&btnSubmi t=Submit