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 *:80Listen 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>..