Ciao,
che cos'è un'estensione CGI dal punto di vista del web server?
Quando il web server riceve la richiesta di un programma cgi in C esegue una chiamata alla funzione system passadogli come parametro il file richiesto? come funziona la cosa?
Ciao,
che cos'è un'estensione CGI dal punto di vista del web server?
Quando il web server riceve la richiesta di un programma cgi in C esegue una chiamata alla funzione system passadogli come parametro il file richiesto? come funziona la cosa?
Quando il web server riceve una richiesta si deve forkare, quindi aprire una pipe tra i due processi in modo che l'output del figlio venga letto dal padre... Quindi il processo figlio deve eseguire tramite l'execve l'applicazione cgi ed inviare l'output di essa al client...
Io ho imparato come fare da qui': http://www.lilik.it/~mirko/gapil/gap...#x544-256000II
Spiega tutto su fifo, sockets etc...
Se vuoi saperne di piu' su fork, execve etc trovi tutto qui': http://www.lilik.it/~mirko/gapil/gapil.html
Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00
è questo passaggio che mi interessa. supponiamo che il web server debba gestire una sola richiesta è non ce ne saranno altre. in questo caso non è necessaria la fork. domande:Quindi il processo figlio deve eseguire tramite l'execve l'applicazione cgi ed inviare l'output di essa al client...
1) che cos'è execve?
2) per inviare l'output al client si può usare stdout?
tnx
intanto do un'occhiata ai links
In quel link puoi trovare tutto...
Spiega come forkare un programma ed usare i due processi, spiega cosa sono e come usare le funzioni della famiglia execve, e spiega come creare delle pipe, forkare il programma, far chiudere al padre la pipe in scrittura e collegarlo alla pipe in lettura, e come fare l'opposto col figlio, collegandoli rispettivamente alla stdin e stdout...
Ci sono anche un bel po' di esempi...
Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00