![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Проблема переноса веб-приложений на Delphi 6 с CGI/Windows 2000 на IIS 6: понимание и решение проблемы с бесконечным циклом страницDelphi , Интернет и Сети , CGI и CookiesПри переносе веб-приложений, созданных в Delphi 6 и использующих CGI, с сервера Windows 2000 на сервер Windows 2003 с использованием IIS 6, пользователи могут столкнуться с проблемой, когда после нажатия на кнопку на первой странице происходит возвращение на эту же страницу вместо перехода на ожидаемую. Давайте разберемся в причинах и найдем решение этой проблемы. Описание проблемыПри переносе веб-приложений с CGI, написанных на Delphi 6, на сервер с IIS 6, может возникнуть проблема, заключающаяся в том, что первая страница отображается корректно, но при попытке перехода на другие страницы приложения происходит бесконечный цикл, возвращающий пользователя на стартовую страницу. Анализ проблемыПользователь указывает, что при имитации работы старого сервера на новом все работает без ошибок, что исключает проблему с веб-браузером. Однако, при реальном переносе приложения на новый сервер возникают трудности. Подсказка к решениюВ подтвержденном ответе указывается, что URL запроса обрабатывается CGI и IIS по-разному. IIS использует блок управления расширениями (Extension Control Block), который предоставляет доступ к параметрам HTTP. Если URL обрабатывается некорректно, это может привести к тому, что сервер не распознает запрос как запрос к существующей странице и возвращает стартовую страницу. Альтернативный ответ и его реализацияПользователь, следуя совету, обнаружил, что на IIS 6 свойство PathInfo запроса содержит как имя скрипта, так и параметр страницы, в отличие от IIS 5, где PathInfo содержит только параметр страницы. Это приводит к тому, что CGI-веб-браузер получает запросы с именем скрипта, которое не соответствует известным страницам, и в результате отображается стартовая страница. Решение проблемыЧтобы решить проблему, необходимо выяснить, почему IIS 6 ведет себя таким образом, и найти способ корректировки поведения CGI-браузера, чтобы он корректно обрабатывал запросы с новым форматом PathInfo. Пример кодаДля демонстрации обработки запросов в CGI-браузере можно взглянуть на пример кода, который обрабатывает доступ к параметрам HTTP через переменные окружения CGI процесса. Это поможет понять, как изменение структуры PathInfo может влиять на обработку запросов.
Рекомендации для предотвращения проблемы в будущем
Следуя этим шагам, можно избежать большинства проблем, связанных с переносом веб-приложений на Delphi с CGI на новые версии серверов и сервисов. Проблема заключается в некорректной обработке URL-адресов CGI скриптами веб-приложений, написанных на Delphi 6, при переносе на сервер с IIS 6, что приводит к бесконечному циклу возврата на стартовую страницу вместо перехода на другие страницы приложения Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: CGI и Cookies ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |