Tipy a triky pro správce Webů aneb jak si ulehčit život

Často jsou to maličkosti, které ulehčují webmasterům každodenní život. A 3 takové maličkosti jsme se rozhodli vám ...


Často jsou to maličkosti, které ulehčují webmasterům každodenní život. A 3
takové maličkosti jsme se rozhodli vám nabídnout v následujícím textu. První z
nich je přitom úzce spjatá s dnešním Tématem, protokolem IP, další dvě se pak
týkají problematiky tvorby webových stránek obecně.
Velkou slabinou starších verzí IIS Microsoftu (Internet Information Server)
byla nutnost vyžádat si novou IP adresu pro každý nový virtuální webový server
na tomtéž stroji. Zejména ISP, kteří hostili různé webové site (nebo raději
"webová sídla"?) svých zákazníků na témže stroji, se často dostávali do potíží,
protože jim IP adresy prostě došly.
Virtuální servery
Od 4. verze IIS je však možné hostit pod jednou IP adresou několik virtuálních
serverů a domén. Webový server může tedy nyní i při stejné webové adrese
rozlišovat například mezi www.web-master.de a www.web-master2.de na tomtéž
fyzickém serveru. Postup je přitom jednoznačně definován, přesto vyžaduje na
některých místech úpravy, které bychom zde chtěli probrat.
Vytvoření nového virtuálního serveru programem IIS 4 se skládá z těchto kroků:
Na libovolném místě serveru se založí hlavní (kořenový) adresář nové webové
site.
V manažeru internetových služeb, který se nainstaluje ze startovního menu v
rámci balíku NT-Option-Pack, se založí nová webová site. Jednoduše se klikne
pravým tlačítkem myši v manažeru na tlačítko Server a navolí se "Nová | webová
site".
Na dotaz po interním jménu nové site je možno jednoduše zvolit jakékoliv jméno.
Kvůli přehlednosti by ovšem mělo mít nějakou souvislost s vlastním plánovaným
jménem nového virtuálního serveru.
Na následující dotaz na IP adresu nové site se rovněž neudá žádné číslo. Nová
site má přece běžet pod stejnou IP adresou jako ostatní webové site na tomto
serveru.
U čísla portu (připojení TCP) se obvykle udává standardní port 80, pod kterým
se obvykle přistupuje k webovým serverům.
V dalším kroku se pak musí adresář, vytvořený v prvním kroku, zanést jako
adresář základní.
Konečně jako poslední krok vytváření site je možno definovat varianty přístupu
k novému virtuálnímu serveru. Tedy zda jsou stránky určeny jen ke čtení, zda se
smějí generovat skripty, zda má být dovoleno prohledávání adresářů. Tyto úpravy
je ovšem možno provést separátně později v manažeru internetových služeb.
Těmito kroky je vygenerován nový virtuální sever. Zbývá ovšem ještě jeden
problém není zřejmé, pod jakým hostitelem bude k dosažení, tedy ke které doméně
patří. Tato konfigurace vyžaduje následující kroky:
Klikněte pravým tlačítkem myši v manažeru internetových služeb na novou stránku
a navolte tlačítko "vlastnosti".
Dialog, který následuje, nabídne různé registry pro konfiguraci site. Nás v
tomto případě zajímá obecný registr "webové site". V poli "IP adresa" navolte
tlačítko "rozšíření...". Rozvine se nabídka "rozšířená vícenásobná konfigurace
WWW".
Tam se musí v rubrice záhlaví se jménem hostitele (Hostheadername) zanést jméno
hostitele nové webové site, například www.webmaster.de.
Při vyvolání stránky bude příslušný server napříště ověřovat nejen IP adresu,
ale i předané jméno hostitele, aby rozhodl, které site na stroji se vyvolání
týká. Tuto funkci sice ještě nepodporuje HTTP 1.0, to však dnes již nečiní
žádný problém.
Posledním krokem se pak musí ještě rozlišit jméno site. Poznámka do DNS
I když webový server jméno hostitele zná, protokoly TCP/IP ani síťová doménová
služba DNS o tom ještě nic nevědí.
Pro veřejné servery musí být jméno hostitele zadáno v příslušném DNS serveru
jako CNAME, a to ve formě přezdívky (aliasu), která se váže na jméno skutečného
fyzikálního serveru.
Pro lokální instalaci může být nové jméno hostitele jednoduše zaneseno do
seznamu hostitelů. Ten je ve Windows NT uložen pod %WinDir%system32drivers
etc., v jiných operačních systémech v podadresáři uloženém v konfiguračních
souborech TCP/IP.
Před konečným spuštěním nové site ji nezapomeňte nastartovat v manažeru
internetových služeb. U IIS4 je možno startovat a pozastavit všechny virtuální
servery odděleně. Při startu služby serveru se nastartují jen ty virtuální
servery, které byly při posledním zavření služby aktivní.
Šedivá tlačítka v Exploreru
U náročných webových aplikací se vývojář snaží, aby co možná nejlépe napodobil
chování normálního grafického uživatelského rozhraní (GUI) stolního počítače.
Jedním ze standardních efektů přitom je, že tlačítka, která mají být momentálně
nevolitelná, se znázorní tlumeně, aby uživatel měl i potřebnou vizuální zpětnou
vazbu.
Bohužel ve standardním HTML nic neodpovídá vyvolávací instrukci
"cmdButton.Enabled=False". Toto vyvolání v aplikaci založené na Visual Basicu
zařídí nejen aby příslušné tlačítko již neiniciovalo žádnou akci, ale také aby
automaticky zešedlo.
Právě tento vizuální efekt činí potíže u HTML stránek. Obvykle se používá jiný,
předem připravený grafický tvar tlačítka, který se v takových situacích objeví
místo normálního tvaru. Tím se ovšem zdvojnásobuje grafická zátěž při nahrávání
uživatelského rozhraní.
Počínaje Internet Explorerem 4.0 nabízí MS prohlížeče novou alternativu. S tzv.
Alpha-kanálem prvků HTML stránky je možno manipulovat. Kanál mimo jiné reguluje
tzv. "neprůhlednost" prvků. Díky tomu lze docílit žádaného efektu pro určité
tlačítko.
Demonstrační výpis zdrojového kódu stránky ukazuje příslušný postup. Důležité
je, aby příslušný prvek v našem případě grafika dostal identifikátor, pod
kterým může být v javovském skriptu detekován. Dále musí být v přiřazeném stylu
definován také Alpha-kanál podle konvencí CSS. Na začátku je kanál pouze
definován, nikoliv aktivován (enabled=O).
Příslušná událost v našem případě kliknutí na jiné tlačítko zaktivuje javovským
skriptem Alpha-kanál prvku a sníží hodnotu opacity. Tlačítko se ztlumí, aniž by
bylo zapotřebí nahrávání další grafiky. Pomocí příslušné definice CSS třídy je
možno tento kód zobecnit pro celé skupiny tlačítek:
<html>
<head>
<title>Tlumena tlacitka pomoci Alpha-kanalu</title>
</head>
<body>
<script language="JavaScript">
<!function DoDim( )
{
InButton.filters.alpha.enabled = 1
InButton.filters.alpha.opacity = 25
}
// ->
</script>
<hl>Efekty s Alpha-kanalem</h1>
<p><img src="button.jpg"
id="InButton"
style="filter:alpha(enabled=0)">
</p>
<form method="POST" action="WEBBOT-SELF-">
<p>input type="button"
value="dimmed" name="cmdDim"
onclick=DoDim() "> </p>
</form>
</body>
</html>
Synchronizace rámců
Mnozí zákazníci tvůrců webových stránek si přejí, aby se jejich webové stránky
co nejvíce podobaly již existujícímu tvaru na CD-ROMu. Takovou detailní
optickou podobnost lze docílit i když obtížně intenzivním používáním rámců se
všemi jejich bolestmi.
Složitější však je, má-li se napodobit určité chování aplikací na CD-ROMu,
například mají-li se různá okna aktuální obrazovky aktualizovat ve vzájemné
závislosti. Je-li například v jednom okně uveden seznam výrobků a má se s ním
automaticky synchronizovat jiné okno s vyobrazením těchto výrobků.
Nejefektivněji se toho dosáhne použitím některého javovského skriptového kódu.
Je-li seznam výrobků uložen v rámci tohoto kódu, spustí se automaticky také
příkaz javovského skriptu "Event onLoad". Ten lze použít, má-li se ukázat rámec
s příslušným vyobrazením. Za předpokladu, že se ASP (Active Server Page) pro
indikaci vyobrazení nazývá PrdPic.asp (objeví se v rámci s názvem frPrdPic) a
potřebuje parametr ArtNr pro číslo výrobku, měl by se zadat následující
skriptový kód:
` 1ArtNr obsahuje číslo výrobku
` prvního výrobku z databanky
<%
strJS = ""
strJS = "if (parent.frPrdPic) { "
strJS = strJS + _
"parent.frPrdPic.location = ` "
strJS = strJS + _
"prdPic.asp?ArtNr=1ArtNr` } "
%>
<body language="JavaScript"
onLoad="<%=strJs%>" >
...
Kód Visual Basic tedy dynamicky sestaví vlastní kód javovského skriptu a uloží
ho poté jako řetězec. Je nutno ještě ověřit, zda parent.frPrdPic se nerovná
nule, tedy zda "rodič" naší stránky skutečně má rámec s názvem frPrdPic,
protože uživatelé někdy vyvolávají výrobkovou stránku také přímo, aniž by
předtím prošli celou sadou rámců. Přes společného rodiče "parent" mohou ostatně
jednotlivé stránky rámce libovolně vstupovat do vlastností stránek jiného rámce.
9 1232 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.