LINUX.ORG.RU

Обработка #что-то-там в строке запроса


0

0

Заинтересовало. Каким образом делается когда (ну например тот же гмейл или ещё где) передаётся ссылка /cgi-bin/test.pl#что-то-там

то есть как это «что-то-там» в cgi вытащить? Как я посмотрел %ENV и параметры CGI() - там этого нету.

Или это через javascript вытаскивается и шлётся на сервер с помощью ajax?

★★★

Ответ на: комментарий от tia

Делается это на сервере или на клиенте?

Если на сервере то откуда берётся эта строка?
Если на клиенте то тоже самое?

Подсказка - на сервер приходит не /cgi-bin/test.pl#aaaa а просто «/cgi-bin/test.pl»

vahvarh ★★★
() автор топика
Ответ на: комментарий от vahvarh

Зачем оно на клиенте? Тебе нужно на сервере знать что было указано после #, значит и на сервере парси.

на сервер приходит не /cgi-bin/test.pl#aaaa а просто «/cgi-bin/test.pl»

Смотри окружение и cgi-параметры, что передаёт веб-сервер приложению. Он _должен_ отправлять ещё и полный путь(со всеми аргументами, т.е. без изменений).
Фиг знает как в CGI, но в FCGI nginx отправляет полный путь в QUERY_STRING.

tia
()
Ответ на: комментарий от tia

>Г-спади, зачем так быдлокодить?

лучше бы вы молчали...

топикстартеру: на сервере вы это не получите, только на клиенте.

roller ★★★
()
Ответ на: комментарий от roller

>топикстартеру: на сервере вы это не получите, только на клиенте.

Хм, то есть этого нет даже в первой строке HTTP запроса?

anonymous
()
Ответ на: комментарий от iSage

Страннота. Недели 3 назад приходилось разгребать быдлокод одного знакомого на сисярпе. Небольшой самописный веб-сервер. Для тестинга испольовался IE. Вот чес слово, оно отправляло.
Хотя да, сам то я слышал что браузер не должен этого отправлять, но тогда как-то оно заставило меня усомниться в этом.

tia
()
Ответ на: комментарий от tia

>Для тестинга испольовался IE. Вот чес слово, оно отправляло.

это ж осел, у него свои стандарты. Файрфокс точно не отправляет. Конк по видимому тоже

nu11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.