Jak na Internet server ? (7)
HTTP protokol je definován v dokumentu RFC1945, kde o něm můžete získat ty nejpodrobnější informace, takže jen stručně. Protokol HTTP Protokol HTTP je definován jako protokol generický. Z hlediska HTTP protokolu existuje server, klient a gateway (brána), která se z jedné "strany" tváří jako server a z druhé jako klient. Protokol HTTP spolupracuje i s ostatními internetovými protokoly, jako je FTP, SMTP atd. Implementace protokolu HTTP využívají zatím většinou specifikaci 1.0, kromě ní existuje též novější specifikace 1.1 a zcela inovovaný protokol HTTP-NG. Kromě toho existují i starší a již téměř zapomenuté specifikace 0.9 atd. My se budeme zabývat specifikací 1.0. Dokument pro protokol HTTP lze definovat jen pomocí ukazatele URL (Uniform Resource Locator), o němž něco povím dále. Protokol HTTP verze 1.0 podporuje tři standardní metody přenosu dokumentů: GET, HEAD a POST. GET a HEAD jsou až na pár výjimek celkem identické, POST slouží k posílání nějakých dat na server (zprávy, dotazníky atp.). Nejčastější metodou přenosu souborů protokolem HTTP je samozřejmě GET. Protokol HTTP (na rozdíl od FTP, POP3 či SMTP) rozlišuje malá a velká písmena. Pokud si chcete přenos pomocí HTTP vyzkoušet, zkuste se připojit na váš oblíbený WWW server Telnetem (HTTP má port 80) - třeba takto: telnet 194.212.98.5 80 a zadat GET /, čímž získáte homepage na serveru http://194.212.98.5 (což je shodou okolností síťový magazín NetMag) - samozřejmě v čistém formátu kódování dokumentu, tj. v jazyce HTML. Místo lomítka je samozřejmě možné uvést relativní cestu dokumentu. Tento způsob brouzdání se však pro jistou nepohodlnost čtení obsahu WWW stránek příliš nedoporučuje, a tak i ti největší guru příkazové řádky používají některý WWW klient, např. textový Lynx. Protokol HTTP 1.0 je, jak vidno, v principu velmi jednoduchý. Protokol HTTP specifikace 1.1 už má metod více, kromě stávajících GET, HEAD a POST přibývají ještě metody OPTIONS, PUT, DELETE a TRACE a vše se zvolna komplikuje. URL Neboli Uniform Resource Locator specifikuje přesně daný dokument v rámci celé sítě. Definice URL je specifikována též v RFC1945, takže ji uvádím jen pro orientaci:
URL = "protokol:" "//" host [ ":" port ] [ abs_path ]
URL pro http protokol pak může mít tvar např. Pro jiné protokoly může URL vypadat např. takto:
mailto:zbynek@bigfoot.com, ftp://pub.vse.cz/pub/386-unix/linux/system/kernel/README file://C|/dos/command.com (což je specifikace souboru C:\DOS\COMMAND.COM na vašem disku, avšak nebojte se, můžete k němu skutečně jen vy) a podobně. Klient ovšem samozřejmě musí udaný protokol podporovat. - pokračování příště - Zbyněk Pospíchal
|