ALTE DOCUMENTE
|
||||||||||
Pro dalsí kapitoly (komunikace s webserverem) potřebujeme nainstalovat webserver. Webserver je program, na který se ve skutečnosti odkazuje klient (prohlízeč). Větsinou fungují na OS Unix (webserver Apache), ale jsou i na ostatních platformách. Já jsem pouzil webserver pod WfW a W95 ALIBABA. Dříve nez tento server nainstaluje 12312t1924m me, musíme zprovoznit protokol TCP/IP. Pokud máme síťovku, je to bez problémů. Instalace bude probíhat normálně. Dobré je dát pevné IP číslo. Pokud síťovku nemáme, nevadí. Budeme ji simulovat přes telefonní adaptér. Pak přidáme TCP/IP protokol s pevnou IP adresou, přidáme klienta sítě Microsoft a sluzbu pro sdílení souborů a tiskáren v síti Microsoft. Tím končí první fáze.
Nainstalujeme server (SETUP.EXE). Cesty raději neměníme. Tím je instalace hotová. Implicitně jsou nastaveny i adresáře. Pro HTML soubory je adresář HTLMDOCS a standardně se bude brát soubor INDEX.HTM. Toto vse se dá nastavit přes Alibaba Administration Tool. Samotný server spustíme Alibaba - The WWW server. Veskerá dokumentace je v adresáři DOCS v HTML souborech.
Po spustění serveru se na něj odkazujeme:
1. IP adresou počítače, kde je nainstalován server (193.0.0.1)
2. Názvem počítače (webserveru), které je uvedeno v sekci Síť - Identifikace (PC101)
3. Jménem, které je uvedeno s příslusnou IP adresou v souboru HOSTS (193.0.0.1 webserver.ssvt)
Toto je specifická část a kazdý server se můze instalovat jinak.
CGI skripty jsou programy nebo batky, které bězí na straně serveru (proto předeslá instalace).
Pod OS UNIX můze psát tyto skripty v jeho shellu (větsinou Bourne - něco jako batky v DOSu) nebo v programovacím jazyku Perl. To ovsem vyzaduje znalost tohoto OS a jazyka.
Se serverem ALIBABA vyuzíváme DOS a Windows. Problém s psaním batek pod DOSem je následující: Skripty obsahují znaky < a >, které jsou speciální znaky pro DOS. Z toho vyplývá, ze batky pouzít nemůzeme, protoze by pak skript nefungoval úplně správně.
Můzeme pouzít vsak různé programovací jazyky pod DOS (C, C++) nebo pod Windows (Visual Basic). Program normálně vytvoříme a přelozíme do spustitelného souboru (COM, EXE, DLL). Tento spustitelný soubor pak musíme nahrát do příslusného adresáře: pro dosovské programy je to CGI-BIN, pro windowsovské programy WINCGI. Podle ulození do těchto adresářů server při odkazu pozná, ze se jedná o skript (program) a spustí ho. Pokud by jsme ho nahráli do jiného adresáře, prohlízeč by ho pouze zobrazil (EXE soubor má hezký obsah).
CGI skript vytvoří nový WWW dokument, který můze ovlivnit uzivatel nějakým vstupem.
Ukázeme si na příkladu: CGI skript, který vypíse aktuální datum. Skript vytvoříme v jazyce C.
Skript spočívá v tom, ze na standardní výstup, posleme symboly HTML dokumentu, jako bychom ho psali sami. Standardní výstup je obrazovka a v C se na něj dostaneme funkcí printf, v DOSu ECHO.
První řádek výstupu je hlavička, určující formát dat nově vytvořeného dokumentu (HTML soubor, text, GIF obrázek, JPG obrázek.).
Hlavička vypadá následovně: Content-type: typ souboru
kde typ souboru se nahradí nějakým typ z následující tabulky
Formát Content-type
HTML text/html
Text text/plain
GIF image/gif
JPEG image/jpeg
PostScript application/postscript
MPEG video/mpeg
a dalsí.
U serveru ALIBABA je úplný seznam v Alibaba Administration Tool- Mime Type.
Tento první řádek se v nově vytvořeném dokumentu nezobrazí.
Za touto hlavičkou musí následovat prázdný řádek (informace pro server, ze teď začnou formátovací symboly).
Pak uz následuje program. To, co chceme zobrazit ve výsledném dokumentu, napíseme do funkce printf. Server si to pak ze standardního výstupu vezme a převede na HTML dokument. Ten pak předá klientovi. Funkce printf samozřejmě můze obsahovat i formátovací znaky. Vlastně platí, ze to co je ve funkci printf, je zdroj HTML stránky (jako kdybychom ji tvořili ručně). Výhoda je v tom, ze tady mám i proměnné, které mi právě tvoří dynamiku stránky.
Nevýhoda: V jazyce C pod DOSem budu mít problémy s čestinou. Proto jsem to pak převedl do poznámkového bloku a připsal české znaky.
Zdrojový text programu na aktuální datum DATUM.C
#include <dos.h>
#include <stdio.h>
void main()
Pokud vynechám C-čkovské funkce, zbude mi zdroj HTML dokumentu.
Tento soubor zkompiluji a vytvořený EXE soubor překopíruji do adresáře CGI-BIN.
V hlavním dokumentu se na skript odkázi tímto příkazem: <A HREF="../CGI-BIN/DATUM">aktuálním datem</A>
<html>
<head>
<title>CGI skripty</title>
</head>
<body>
<h1 align=center>CGI skripty</h1>
<P>Odkaz na stránku s <A HREF="../CGI-BIN/DATUM">aktuálním datem</A></P>
Zdrojový kód v jazyce C v souboru <A HREF="obr/datum.txt">DATUM.TXT</A>
</body>
</html>
Zopakujte si jazyk C,C++
Prostudujte dokumentaci k serveru ALIBABA
Vytvořte skript, který vypočítá, kolik uběhlo dní do začátku roku.
Vytvořte skript, který vypočítá, kolik uběhlo hodin do začátku roku.
|