Il programma ha già trovato i valori richiesti dal client, ed ora si accinge a comporli in un output. La funzione manda_fuori_header si occupa in particolare di mandare allo standard output l'header del messaggio http (il corpo del messaggio http, costituito dalla pagina html vera e propria, sarà mandato allo standard output dalla funzione manda_fuori_codice_html).
Nel caso che il gateway sia un non parsed header, occorre che l'header del messaggio http venga confezionato per intero dallo stesso gateway: il server web, infatti, si limiterà a dirottare questa uscita verso il client senza aggiungervi nulla. Nel caso invece che il gateway sia un parsed header, l'header del messaggio http viene composto dal server web, ed il gateway si limita a dare solo delle direttive. Tra queste direttive deve necessariamente esserci la linea "Content-TYPE: ....", che il server provvede ad includere nell'header http, e che è l'unica indicazione disponibile della natura dell'output del gateway (per questo non può che essere fornita che dal gateway stesso).
La funzione manda_fuori_header comincia, dunque, con il verificare se il gateway è un parser header o meno (si ricorda che i gateway non parsed header cominciano necessariamente con la stringa "nph"). Se si tratta di un non parsed header viene composto un semplice header (perfino menzognero, perché dichiara sempre la stessa data), altrimenti viene mandata fuori la sola linea "Content-TYPE: text/html", per segnalare che il contenuto dell'output e di tipo testo, e di sottotipo html. Queste informazioni serviranno al client per poter interpretare correttamente il body del messaggio http.   
pagina precedente    prossima pagina