Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1/1

Počítačové sítě a komunikační technika:
Harmonická analýza
Harmonická analýza -- složky
Harmonická analýza -- cvičení
Amplitudová modulace
Frekvenční modulace
Vzorkování
Aliasing
Kvantování
Číslicové zpracování signálů
Komunikace pomocí optických vláken I
Komunikace pomocí optických vláken II
Komunikace pomocí optických vláken III
Komunikace pomocí optických vláken IV
Optické zdroje a detektory
Metalické vedení -- primární a sekundární parametry
Metalické vedení -- zakončovací impedance
Stojaté vlnění
Šíření elektromagnetických vln
Parametry antén
Antény
Zdrojové kódování
Ztrátová komprese
Běžně používané souborové formáty
Formát kontejner kodek
Kanálové kódování
Multiplexování
Komunikační model, vrstvy, TCP/IP I
Komunikační model, vrstvy, TCP/IP II
IP adresa
DNS a WHOIS
DNS a WHOIS -- videoukázka
Protokoly TCP a UDP
Vrstvy Internetu — videoukázka
Služby Internetu
E-mail
Šifrování a elektronický podpis I
Šifrování a elektronický podpis II
Šifrování a elektronický podpis — videoukázka
Kódování textu
Kódování čísel
Úvod do Linuxu
Zpracování příkazového řádku
Základní příkazy
Přístupová práva
Vstupy, výstupy, přesměrování
Procesy
Procesy bez přihlášení
Počáteční nastavení
Základy skriptování
Shell -- test
Instalace software a nastavení sítě
Secure Shell I
Secure Shell II
Webový server
Python jako motor webu -- CGI
Python jako motor webu -- formuláře
Python jako motor webu -- Bottle I
Python jako motor webu -- Bottle II
Bottle -- příklad
Malý poštovní server

PSK3-15

Název školy: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3
Autor: Ing. Marek Nožka
Anotace: Princip funkce dynamických webových stránek
Vzdělávací oblast: Informační a komunikační technologie
Předmět: Počítačové sítě a komunikační technika (PSK)
Tematická oblast: Operační systém Linux/Unix
Výsledky vzdělávání: Žák vysvětlí základní rozdíl mezi statickou a dynamickou webovou stránkou.
Klíčová slova: Linux, Unix, Apache, CGI
Druh učebního materiálu: Online vzdělávací materiál
Typ vzdělávání: Střední vzdělávání, 4. ročník, technické lyceum
Ověřeno: VOŠ a SPŠE Olomouc; Třída: 4L
Zdroj: Vlastní poznámky, Vilém Vychodil: Linux Příručka českého uživatele

Python jako motor webu -- CGI, HTTP

Obsah:

  1. Životní cyklus dynamické webové stránky
  2. Malý příklad v serverového programu Pythonu
  3. Odkazy

Při prohlížení Internetu můžeme narazit v zásadě na dva druhy webových stránek:

Statická webová stránka
Je doručena uživateli přesně tak, jak je uložena na serveru. Všem uživatelům se zobrazuje stejně, nezávisle na kontextu.
Dynamická webová stránka
Je vytvořena na serveru až v okamžiku, kdy o ni klient požádá. Klient může spolu s požadavkem webové stránky zaslat severu i další parametry, které (pokud na ně server reaguje) mohou modifikovat výslednou webovou stránku.

Životní cyklus dynamické webové stránky

Naprostá většina webových stránek je dnes dynamických. Klientem je v naprosté většině případů webový prohlížeč.

  1. Webový server příjme pomocí protokolu HTTP požadavek na zaslání webové stránky nebo jiného obsahu (např. obrázku).

  2. Webový server pomocí rozhraní CGI spustí program, kterému předá parametry zaslané klientem spolu s požadavkem.

  3. Spuštěný program na svůj standardní výstup "vytiskne" HTTP hlavičku, kterou ukončí prázdným řádkem.

    Dále program na svůj standardní výstup "vytiskne" požadovaný obsah. Nejčastěji je to webová stránka formátovaná pomocí jazyka HTML.

  4. Webový server předá pomocí CGI programem vygenerovanou stránky zpět klientovy.

Malý příklad v serverového programu Pythonu

V souboru /etc/apache2/sites-enabled/000-default.conf provedeme konfiguraci Apache podle návodu.

<Directory /var/www/>
    Options -Indexes FollowSymLinks MultiViews +ExecCGI
    AddHandler cgi-script .cgi
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

`--> stáhnout

Důležité je +ExecCGI a AddHandler cgi-script .cgi. Všechny soubory s příponou .cgi se budou spouštět a jejich výstup se odešle do webového prohlížeče.

Po změně konfigurace je třeba znovu přesvědčit webový server aby si konfiguraci znovu načetl.

# service apache2 reload

Přejdeme do adresáře /var/www:

# cd /var/www

vytvoříme soubor index.cgi.

# mcedit index.cgi

Základem každého skriptu je HTTP hlavička|HTTP header. Minimální hlavička může vypadat např. takto:

Content-Type: text/html;
<prázdný řádek>

Prázdný řádek na konci je důležitý. Více o http můžete najít v článku List of HTTP header fields nebo Hypertext Transfer Protocol. Pokud se chcete podívat jak vypadá některá konkrétní http hlavička konkrétní stránky poslouží vám dobře program Telnet nebo program GET z balíčku libwww-perl. Online služeb je také více například web-sniffer.

Náš zdrojový kód potom může vypadat asi takto

#!/usr/bin/python
# -*- coding: utf8 -*-

import datetime

print "Content-Type: text/html; Charset=utf-8;\n"

print "<h1>Funguje mi to!!! Huráááá!!!</h1>"

td=datetime.datetime.today()

print "<p>Aktuální datum: {}. {}. {}</p>".format(td.day, td.month, td.year)
print "<p>Aktuální čas: {}:{}:{}</p>".format(td.hour, td.minute, td.second)

`--> stáhnout

Nakonec je ještě potřeba nastavit souboru práva pro spouštění...

chmod a+x index.cgi

... a podívat se na výsledek ve webovém prohlížeči.


Odkazy

| navigace |

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net