HTTP je bezstavový protokol založený na modelu klient-server.
Má textovou podobu a patří do rodiny aplikačních protokolů nad TCP.
Komunikace probíhá tak, že klient zasílá požadvky formou metod a server
na ně odpovídá zprávami v jejichž hlavičce je stavový kód a další důležité informace, např.: MIME.
Název | Popis |
---|---|
GET | Požadavek na objekt (stránka/soubor), uvedený v parametru |
HEAD | Jako GET, ale předá se pouze hlavička (metada objektu) |
POST | Předá data na server |
PUT | Nahraje soubor na server |
DELETE | Smaže soubor na serveru |
TRACE |
Pošle zpět obdržený požadavek. Klient tak může zjistit jak byl požadavek cestou pozměněn. |
OPTIONS | Dotaz na server, jaké metody podporuje. |
CONNECT | Spojí se s uvedeným objektem
přes uvedený port. Používá se při průchodu skrze proxy pro ustanovení kanálu SSL. |
Název | Popis | Příklad |
---|---|---|
1xx | Informační zpráva pro klienta |
101 Switching Protocols - změna
protokolu |
2xx |
Úspěch |
200 OK |
3xx |
Přesměrování |
301 Moved Permanently - trvalé
přesměrování |
4xx |
Chyba na straně klienta |
404 Not Found - soubor/cesta
nenalezena |
5xx |
Chyba na straně serveru |
500 Internal Server Error |
Apache je již od roku 1996 nejrozšíženějším na internetu používaným web serverem.
proto06:/etc/apache2> ls -w 1 -F
apache2.conf - Hlavní konfigurační soubor (v některých distribucích pro změnu httpd.conf)
conf.d/ - Ostatní konfigurace
envvars - Nastavení proměnných prostředí
httpd.conf - viz. apache2.conf
magic - Soubor s "magickými" konstantami pro určení MIME-typu souborů
mods-available/ - Dostupné moduly a jejich konfigurační soubory
mods-enabled/ - Symlinky na moduly (soubory v mods-available/), které se mají načíst
ports.conf - Konfigurace portu na jakých má Apache naslouchat
sites-available/ - Konfigurační soubory s definicemi virtuálních serverů
sites-enabled/ - Symlinky aktivující virtuální servery z mods-available/
ServerRoot "/etc/apache2"
- úložiště hlavních konfiguračních souborůKeepAlive On
- zapne perzistentní připojeníKeepAliveTimeout 15
- jak dlouho se má perzistentní připojení udržovat (sekundy)DefaultType text/plain
- výchozí MIME typ, který se udá u souborý kde selže automatické určení MIMEErrorLog ${APACHE_LOG_DIR}/error.log
- cesta k logovacímu souborLogLevel warn
- intenzita logování (debug, info, notice, warn, error, crit, alert, emerg)Include ports.conf
- Připojí ostatní konfigurační soubory<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy all
</Files>
<Directory
...>
NameVirtualHost *:80
Listen 80
- Poslouchej na portu 80 (pro VirtualHost)<VirtualHost *:80> ServerAdmin webmaster@localhost # Hlavni slozka s www dokumenty DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> # Nastaveni cgi ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> # AllowOverride None - ignoruj .htaccess AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> # Nastaveni logovani LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined # Alias pro slozku s omezenim pristupu Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all # Povol přístup z localhostu Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Virtuální servery je možno definovat na základě:
<VirtualHost server.domena.cz>...
<VirtualHost
server.domena.cz>..