Autor:
Jaromir Dolecek,
dolecek@ics.muni.cz
C-SaCzech (nebo kratce CSacek) je prostredek pro zajisteni prekodovani WWW stranek na serveru podle pozadavku klientu. Stranky dynamicky koduje tak, aby ji klient dostal v kodovani cestiny, ve kterem je schopen ji spravne zobrazit.
Jmeno C-SaCzech je vzniklo slozenim C a
SaCzech a vyjadruje, jak CSacek vznikl - jako C verze vyborneho
pane Satrapova koderu (ktery je napsan v jazyce Perl). Jako jmeno se ujalo
take CSacek.
SaCzech a C-SaCzech jsou jinak dva samostatne, navzajem
nezavisle projekty,
ac stale v zakladnich rysech kompatibilni.
Proc byl jako zaklad zvolen SaCzech a proc vubec dalsi koder ?
SaCzech splnuje zakladni pozadavky
na to, co by clovek predstavoval od prekodovavace, umoznuje snadno
pouzivat relativni odkazy v dokumentech, snadno vyznacit kodovani
dokumentu (dokonce dovoluje pouzit v jednom dokumentu nekolik
ruznych kodovani cestiny) a je zdola kompatibilni se starsim WWWdia,
pouziva
stejne nazvy kodu. Je take vhodny pro celoplosne nasazeni na server,
nebot je mozno prekodovavat i vystup z CGI skriptu (popr. i jinych
modulu na strane serveru). Je vsak napsan
v jazyce Perl a proto dost pomaly pri konecnem nasazeni na server.
Pral jsem si, aby odezva i s pouzitim dynamickeho prekodovani
byla
co nejrychlejsi a tak jsem se rozhodl vytvorit verzi v C a pojmenoval
ji (s laskavym svolenim pana Satrapy)
C-SaCzech, abych tak vzdal hold puvodnimu vzoru.
Prepis SaCzechu 2.0 byl dokoncen
v kvetnu 1996 a vysledny program byl znacne sviznejsi nez perlovsky vzor.
Od te chvile se pak datuje samostatny vyvoj CSacku, podrobnosti viz.
Historie.
CSacek je kompatibilni se SaCzechem a zdola kompatibilni
se sebou samym (pokud je to mozne a rozumne).
Muj nehynouci dik patri Pavlovi Satrapovi, jehoz SaCzech byl predlohou pri vytvareni C-SaCzechu. CSacek by take nikdy nebyl tak dobry, jako je nyni, bez podnetnych pripominek a pomoci mnoha dalsich lidi - me uznani a dik patri zejmena Michalovi Krause, ktery mi pomohl najit a odladit hodne problemu (je to napriklad hlavne jeho zasluha, ze CSacek nyni mnohem lepe podporuje MSIE 3.0). Radou a napady mi na zacatku take velmi pomohl Hynek Med, jeho podnetne pripominky prispely znacnou merou k tomu, co dnes CSacek umi.
Pri psani CSacku byl pouzit i kod jinych autoru. Pro ucely komprese metodou "compress" byla pouzita cast kodu programu compress(1), tak jak je v distribuci NetBSD. Jedna se o kod vyvinuty Kalifornskou univerzitou, Berkeley a spolupracovniky. Podpora komprese metodou ``deflate'' a ``gzip'' je umoznena diky vyborne knihovne ``zlib'', jejimiz autory jsou panove Jean-loup Gailly a Mark Adler. Pro spravu systemovych prostredku byl pouzit kod, starajici se o totez na serveru Apache.
Za jakych podminek je mozno CSacek pouzivat ?
CSacek je
je freeware, sireny se zdrojovym kodem v podminkach
GNU Public License (presne zneni GPL
viz napriklad soubor COPYING, ktery je soucasti distribuce).
Bylo to slozite rozhodovani, ktery typ licence pouzit (dlouho byl CSacek
siren pod BSD-like licenci), nakonec zvitezilo to, ze GNU-style licence
je pomerne jasne formulovana a nedava prostor na dohady.
V pripade potreby se lze kdykoli v konkretnim pripade
dohodnout s autorem
na jinych podminkach - CSacek sam o sobe neni GNU-tainted.
CSacek funguje na Unixu a NT, jako CGI, FastCGI
program nebo Apache modul. Vlastni CSackovsky kod je nyni plne reentrantni
a bude bez uprav pracovat v prostredi, pouzivajicim vlakna
(Apache (1.3 na NT, 2.0 jednou i jinde), Netscape servery,
MS IIS).
V budoucnu planuju CSacek naportovat take na OS/2
(uvazoval jsem i o MacOS, ale nemam potrebny hardware; najde se nejaky
sponzor nebo majitel uz nepotrebneho Maca ?) a bude
dopsana podpora pro NSAPI a ISAPI (zejmena s tim druhym bych
uvital pomoc; prostredi MS mi
k srdci neprirostlo).
Kde lze CSacek najit ?
Aktualni verze CSacku je k dispozici na ftp serveru UVT -
ftp://ftp.ics.muni.cz/pub/www/csacek/.
Pro platformy, ke kterym mam pristup (v abecednim poradi AIX/RS6000, IRIX/mips, Linux/i386, NetBSD/i386, NT/i386, NT/alpha, OSF/alpha, Solaris/sparc) je k dispozici uz zkompilovany CGI CSacek na ftp://ftp.ics.muni.cz/pub/www/csacek/bin/.
Kontakt na autora
Blahoprejne a pochvalne dopisy, seky a poukazky,
stejne jako stiznosti na chyby v CSacku,
je mozno posilat na nekterou z nize uvedenych adres.
Budu vdecny za informaci, ze CSacek pouzivate a libi se Vam (popr.
ze ho nakonec nepouzivate, protoze ...). Delam na CSacku hlavne proto,
ze me to bavi
a (pozitivni) reakce uzivatelu pomahaji tomu, aby me to bavit
(zbytecne brzy) neprestalo.
E-Mail: | dolecek@ics.muni.cz |
S-Mail: |
Jaromir Dolecek UVT MU Botanicka 68a Brno 60200 |
WWW: | http://www.ics.muni.cz/~dolecek/ |