Хорошо. Предполагая, что вы говорите об «Apache httpd», мы говорим о сервере, который говорит HTTP
. Практически любой язык программирования имеет несколько классов «HTTP Client». В случае C # вы можете использовать HttpWebRequest . Винко привел отличный пример «копировать / вставить» .
Чтобы запустить процесс на стороне сервера, вам понадобится " сценарий на стороне сервера ". Если для сервера httpd нет доступных модулей, вы всегда можете прибегнуть к CGI
. Это потенциально опасно, если не осторожно. Но вы можете сказать это обо всех сценариях на стороне сервера (здесь важно «если не соблюдать осторожность»).
Похоже, вы новичок в динамичной веб-разработке. И, насколько мне это не нравится, я должен сказать, что сообщество PHP является отличной отправной точкой .
Чтобы дать приблизительный обзор того, как все работает:
- Клиент (приложение You C #) делает «запрос» к серверу (по умолчанию TCP-соединение с портом 80)
- Когда сервер (httpd) прослушивает этот порт, он принимает это соединение и начинает «говорить HTTP»
- Сервер получает URL-адрес из команды
HTTP GET
и решает, что с ним делать.
- Если этот URL-адрес сопоставлен со статическим ресурсом, сервер отправляет «ответ» с содержимым ресурса и готово.
- Если этот URL-адрес отображается на динамический ресурс, сервер делегирует работу другому процессу. Этот процесс выполняется, и http-сервер получает стандартный результат процесса в качестве результата (в случае PHP, CGI и других подобных технологий). Затем сервер отправляет этот результат обратно клиенту.
Что я понял меньше всего, когда начал, так это "загадочные" httpd-конфигурации. Они просты для понимания, хотя. Они предназначены для того, чтобы сообщить серверу, как (и что) сопоставить с внешним процессом (как отмечено в шагах 4a и 4b).
Итак, в случае PHP:
LoadModule php5_module modules/libphp5.so
Это делает директивы «external process» и configuarion доступными для сервера (загружает расширения).
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Стандартный обработчик Apache-httpd предполагает, что URL-адрес сопоставляется с файлом в файловой системе. Эта директива конфигурации указывает httpd обрабатывать (обрабатывать) каждое имя файла, оканчивающееся на «.php», с использованием модуля PHP, прежде чем возвращать его клиенту.
Конечная нота
Эти шаги очень аналогичны для других серверных приложений. Я привел PHP только в качестве практического примера. И у него очень хорошая документация.