HTTP-сервер и обработка CGI - PullRequest
1 голос
/ 19 марта 2012

У меня есть домашнее задание, которое я должен написать на http-сервере, который должен обрабатывать ввод данных в форме на моей странице index.html.Для этого у меня есть форма, которая использует действие POST и ссылки на файл cgi.Проблема, с которой я сталкиваюсь, связана с моим CGI-файлом.Мой индексный файл и файл cgi находятся в одной папке, поэтому моя форма выглядит примерно так:

    <form action="test.cgi" method="POST">
    Username: <input type="text" name="user" />
    <input type="submit" value="Submit" />
  </form> 

Когда я подключаюсь к своему серверу, я подключаюсь к: localhost: PORT, который дает мне индексный файлЯ нажимаю кнопку отправки и получаю ссылку на localhost: PORT / test.cgi

По моему мнению, это должно напрямую связать меня с моим файлом cgi, и все должно работать.Я знаю, что это должно быть потому, что я не понимаю, как сервер организует файлы на моем компьютере.Может ли кто-нибудь объяснить мне, как это работает?

Если я не опубликовал важную информацию, просто дайте мне знать, и я отредактирую сообщение как можно скорее.

1 Ответ

1 голос
/ 19 марта 2012

Поскольку вы пишете HTTP-сервер, вы можете определить «правила» обработки CGI: -)

Например, для Apache по умолчанию требуется один, чтобы поместить сценарии CGI в каталог cgi-bin, чтобы включитьих исполнение.Все это настраивается через httpd.conf - поэтому пользователь может отключить CGI или указать другой каталог для сценариев CGI через файл конфигурации - вы можете сделать что-то подобное.

Также обратите внимание, что расширения файлов для файлов CGIобычно test.pl (для сценариев perl), а сервер обычно выполняет форк / exec указанного файла сценария

http://httpd.apache.org/docs/2.0/howto/cgi.html - хорошая ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...