Vstup a výstup CGI skriptu
Jak již bylo uvedeno, je CGI skript v normální program. V unixovém
prostředí to může být třeba běžný skript shellu, program v jazyce Perl
nebo program zkompilovaný v nějakém z klasických jazyků (C, Pascal...).
Chcete-li, aby CGI skript měl nějaký výstup, musí jej zapisovat na
zařízení STDOUT (standardní výstup). Aby ale server a prohlížeč poznali
typ vámi zapisovaných dat, je nejprve nutno prohlížeči ohlásit, jaký formát
dat mohou očekávat. To se provádí pomocí hlavičky Content-type: formát,
následované jednou prázdnou řádkou. Kde formát je nahrazen
jedním z tabulky:
text/plain |
Čistý text. |
text/html |
Dokument ve formátu HTML. |
image/gif |
Obrázek GIF |
image/jpeg |
Obrázek JPG |
application/x-zip-compressed |
Archiv typu ZIP |
S tabulkou by samozřejmně šlo pokračovat, ale tyto formáty snad stačí.
Příklad jednoduchého dokumentu, vypisovaného CGI skriptem:
Content-type: text/plain
Toto je první CGI skript. Hurá....
U vstupu do CGI skriptu již máme dvě možnosti - použít standartní
vstup STDIN, nebo proměnou prostředí QUERY_STRING. To jak data do skriptu
budou vstupovat, rozhodne promněná REQUEST_METHOD. Ta může nabývat pouze
dvou hodnot a to POST a GET. Tyto metody se volí například v tagu <FORM
METHOD="POST"...>. Pokud tedy známe metodu, můžeme přečíst
data a to u metody GET z promněné QUERY_STRING a u metody POST ze standartního
vstupu. U metody POST lze navíc zjistit velikost dat zapisovaných do STDIN,
pomocí promněné CONTENT_LENGTH.
|