Všechny nadpisy jsou rozděleny do čtyř hlavních skupin:
Právě v tomto pořadí se doporučuje odesílat hlavičky příjemci (nezáleží na tom programově, ale dává to pohodlí při ladění). Entity a tedy jejich hlavičky lze nalézt jak v požadavcích, tak v odpovědích (v tomto případě mohou být některá hlavička přítomna v odpovědi a chybět v požadavku, nebo naopak). Je třeba poznamenat, že některé hlavičky mohou patřit do několika skupin najednou (například Content-Disposition ).
V následující přehledové tabulce každý řádek dat odpovídá určitému nadpisu a některé sloupce jsou vyhrazeny pro jejich skupiny. Tabulka byla sestavena na základě analýzy polí záhlaví stanovených v RFC . Taková matice byla vytvořena pro lidi, kterým záleží na kompatibilitě a dynamice verzí. S vydáním aktualizací protokolů byly některé hlavičky přeneseny z jedné skupiny do druhé (přeškrtnuté „Ano“ označuje, kam dříve patřily). Některé nadpisy byly zcela vyloučeny a podle přeškrtnutého „Ano“ zjistíte, ve které skupině byly před vyloučením. Některé nadpisy mají několik přeškrtnutých "Ano" (například URI ) - takové nadpisy byly nejprve zavedeny v jedné skupině, poté přesunuty a později zcela zrušeny. Sloupec "Název" má také své vlastní kódování. Například zcela vyloučené nadpisy jsou přeškrtnuty a nadpisy navržené k vyloučení jsou označeny kurzívou.
Krátké označení | Výklad |
---|---|
Ano | Záhlaví nyní patří do skupiny uvedené ve sloupci. |
Ne | Název nikdy nesouvisel s touto skupinou. |
Ano | Název používaný k označení této skupiny. Pokud je v řádku zelené „Ano“, pak byl převeden do jiné skupiny (přeškrtnuto - odkud byl převeden). Pokud řádek obsahuje pouze přeškrtnuté „Ano“ a obvyklé „Ne“, bylo záhlaví zcela odstraněno. Pokud bylo několik přeškrtnuto, byl titul převeden a poté byl zcela odstraněn. |
Ano | Mluví o pochybnostech. Pokud je na řádku pouze „Ne“, pak bude do protokolu zahrnuta pouze hlavička (už ji můžete použít). Pokud je na řádku také „Ano“, chtějí to převést do jiné skupiny, ale ještě o tom nebylo definitivně rozhodnuto. |
záhlaví | GH | Žádost | Odpovědět | Vzhled * | Účel | Příklad | ||
---|---|---|---|---|---|---|---|---|
RqH | EH | RSH | EH | |||||
akceptovat | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Seznam platných formátů zdrojů. | Přijmout: text/prostý |
Přijmout znakovou sadu | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Seznam podporovaných kódování k poskytnutí uživateli. | Accept-Charset: utf-8 |
Přijměte kódování | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Seznam podporovaných způsobů kódování obsahu přenášené entity. | Accept-Encoding: < komprimovat | gzip | vyfouknout | sdch | identita> |
Přijímací jazyk | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Seznam podporovaných přirozených jazyků. | Přijímací jazyk: en |
Přijmout rozsahy | Ne | Ne | Ne | Ano | Ne | HTTP/1.1 | Seznam jednotek dosahu . | Accept-Ranges: bytes |
Stáří | Ne | Ne | Ne | Ano | Ne | HTTP/1.1 | Počet sekund od změny zdroje. | |
dovolit | Ne | Ne | Ne | Ne | Ano | HTTP/1.0 | Seznam podporovaných metod . | Povolit: OPTIONS, GET, HEAD |
Náhradníci | Ne | Ne | Ne | Ano | Ne | HTTP/1.1 | Označení alternativních způsobů reprezentace zdroje. | |
Povolení | Ne | Ano | Ne | Ne | Ne | HTTP Auth | Údaje pro autorizaci. | Autorizace: Základní QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Cache-Control | Ano | Ne | Ne | Ne | Ne | HTTP/1.1 | Základní direktivy pro správu cache . | Cache-Control: no-cache Cache-Control: no-store Cache-Control: max-age=3600 Cache-Control: max-stale=0 Cache-Control: min-fresh=0 Cache-Control: no-transform Cache- Control: only if-cached Cache-Control: cache-extension |
spojení | Ano | Ne | Ne | Ne | Ne | HTTP/1.1 | Informace o připojení. | Připojení: zavřít |
obsahová základna | Ne | Ne | Ne | Ne | Ano | HTTP/1.1 | Informace o trvalém umístění zdroje. Odstraněno v HTTP/1.1v2. | |
obsahově-dispozice | Ne | Ano | Ano | Ano | Ano | CDH | Jak jsou entity distribuovány ve zprávě, když je odesláno více fragmentů. | Obsah-Dispozice: formulář-data; name="MessageTitle" Content-Disposition: form-data; name="AttachedFile1"; filename="fotka-1.jpg" |
kódování obsahu | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Způsob, jak zakódovat obsah entity při přenosu. | |
Jazyk obsahu | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Jeden nebo více přirozených jazyků obsahu entity. | Jazyk obsahu: en, ase, ru |
délka obsahu | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Velikost obsahu entity v oktetech (která se v ruštině obvykle nazývá bajty). | Délka obsahu: 1348 |
umístění obsahu | Ne | Ne | Ano | Ne | Ano | HTTP/1.1 | Alternativní umístění obsahu entity. | |
Obsah-MD5 | Ne | Ne | Ano | Ne | Ano | MD5H | Base64 MD5 – hash entity pro kontrolu integrity. | Obsah-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
rozsah obsahu | Ne | Ne | Ano | Ne | Ano | HTTP/1.1 | Rozsahy bajtů předávané entity, pokud je vrácen fragment. Podrobnosti: Částečné GETy . | Rozsah obsahu: bajty 88080384-160993791/160993792 |
typ obsahu | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Formát a způsob, jakým je entita reprezentována. | Content-Type: text/html;charset=utf-8 |
Obsahová verze | Ne | Ne | Ano | Ne | Ano | HTTP/1.1 | Informace o aktuální verzi entity. | |
datum | Ano | Ne | Ne | Ne | Ne | HTTP/1.0 | Datum vygenerování odpovědi. | Datum: Út, 15. listopadu 1994 08:12:31 GMT |
Odvozený od | Ne | Ne | Ano | Ne | Ano | HTTP/1.1 | Informace o aktuální verzi entity. [?] | |
Etag | Ne | Ne | Ne | Ano | Ano | HTTP/1.1 | Značka (jedinečný identifikátor) verze entity použitá při ukládání do mezipaměti . | Etag: "56d-9989200-1132c580" |
Očekávat | Ne | Ano | Ne | Ne | Ne | HTTP/1.1v2 | Označuje server, že klient od něj očekává další akci. | Očekávejte: 100-pokračování |
Platnost vyprší | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Očekávané datum ukončení platnosti účetní jednotky. | Vyprší: Út, 31. ledna 2012 15:02:53 GMT |
Z | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | E -mailová adresa odpovědné osoby na straně klienta. | From: [email protected] |
Hostitel | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Název domény a hostitelský port požadovaného prostředku. Potřebné pro podporu virtuálního hostingu na serverech. | Hostitel: en.wikipedia.org |
Pokud Match | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Seznam značek verze entity. Proveďte metodu, pokud existují. | If-Match: "737060cd8c284d8af7ad3082f209582d" |
If-Modified-Since | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Datum . Proveďte metodu, pokud se entita od zadaného času změnila. | If-Modified-Since: So, 29. října 1994 19:43:31 GMT |
If-None-Match | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Seznam značek verze entity. Spusťte metodu, pokud žádná z nich neexistuje. | If-None-Match: "737060cd8c284d8af7ad3082f209582d" |
Pokud Range | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Seznam značek verze entity nebo datum pro konkrétní fragment entity. | If-Range: "737060cd8c284d8af7ad3082f209582d" |
If-Unmodified-Since | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Datum . Proveďte metodu, pokud se entita od zadaného data nezměnila. | If-Unmodified-Since: So, 29. října 1994 19:43:31 GMT |
Naposledy změněno | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Datum poslední úpravy entity. | |
Odkaz | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Ukazuje na zdroj, který je logicky propojen s entitou, podobně jako značka <LINK> v HTML . | |
umístění | Ne | Ne | Ne | Ano | Ne | HTTP/1.0 | Identifikátor URI , na který by měl klient přejít, nebo identifikátor URI generovaného zdroje. | Umístění: http://example.com/about.html#contacts (odkaz není k dispozici) |
Max vpřed | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Maximální povolený počet přechodů přes proxy . | Maximální počet vpřed: 10 |
Verze MIME | Ano | Ne | Ne | Ne | Ne | MIM | Verze protokolu MIME , ze které byla zpráva vygenerována. | |
pragma | Ano | Ne | Ne | Ne | Ne | HTTP/1.0 | Speciální možnosti pro provedení operace. | Pragma: no-cache |
Proxy Authenticate | Ne | Ne | Ne | Ano | Ne | HTTP Auth | Nastavení ověřování na serveru proxy. | |
Autorizace proxy | Ne | Ano | Ne | Ne | Ne | HTTP Auth | Informace pro autorizaci na proxy serveru. | Proxy-autorizace: Základní QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Veřejnost | Ne | Ne | Ne | Ano | Ne | HTTP/1.1 | Seznam dostupných metod je podobný jako Povolit , ale pro celý server. | |
Rozsah | Ne | Ano | Ne | Ne | Ne | HTTP/1.1 | Rozsahy bajtů pro vyžádání fragmentů prostředků. Podrobnosti: Částečné GETy . | Rozsah: bajtů=50000-99999,250000-399999,500000- |
Referent | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Identifikátor URI zdroje, po kterém klient provedl aktuální požadavek. | Referent: http://en.wikipedia.org/wiki/Main_Page |
Opakovat-po | Ne | Ne | Ne | Ano | Ne | HTTP/1.0 | Datum nebo čas v sekundách, po kterém lze požadavek opakovat. | |
server | Ne | Ne | Ne | Ano | Ne | HTTP/1.0 | Seznam názvů a verzí webového serveru a jeho součástí s komentáři. U proxy serverů pole Přes . | Server: Apache/2.2.17 (Win32) PHP/5.3.5 |
Titul | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Název entity. | |
TE | Ne | Ano | Ne | Ne | Ne | HTTP/1.1v2 | Seznam rozšířených metod kódování přenosu. | TE: přívěsy, vypusťte |
Upoutávka | Ano | Ne | Ne | Ne | Ne | HTTP/1.1v2 | Seznam polí souvisejících s kódováním zprávy při přenosu. | |
Kódování přenosu | Ano | Ne | Ne | Ne | Ne | HTTP/1.1 | Seznam kódování, která byla použita na zprávu pro přenos. | Transfer-Encoding: chunked |
Vylepšit | Ano | Ne | Ne | Ne | Ne | HTTP/1.1 | Seznam protokolů nabízených klientem. Server specifikuje jeden protokol. | Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 |
URI | Ne | Ne | Ano | Ne | Ano | HTTP/1.0 | Seznam URI. V HTTP/1.1 nahrazeno umístěním , umístěním obsahu , Vary a odkazem . | |
Uživatelský agent | Ne | Ano | Ne | Ne | Ne | HTTP/1.0 | Seznam jmen a verzí klienta a jeho komponent s komentáři. | User-Agent: Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 |
Lišit se | Ne | Ne | Ne | Ano | Ne | HTTP/1.1 | Seznam polí s popisem zdroje z požadavku, která byla vzata v úvahu. | Vary: Accept-Encoding |
Přes | Ano | Ne | Ne | Ne | Ne | HTTP/1.1 | Seznam verzí protokolů, jmen a verzí proxy serverů , přes které zpráva prošla. | Přes: 1.0 fred, 1.1 nowhere.com (Apache/1.1) |
Varování | Ano | Ne | Ne | Ano | Ne | HTTP/1.1 | Kód, agent, zpráva a datum v případě nouze. | Varování: 199 Různé varování |
WWW-ověření | Ne | Ne | Ne | Ano | Ne | HTTP Auth | Možnosti autentizace pro provedení metody proti zadanému prostředku. |
* Hodnoty ve sloupci "Vzhled":
General Headers jsou hlavní hlavičky pro požadavky klientů a odpovědi serveru . Většina z nich je povinná.
Hlavičky požadavků se používají pouze v požadavcích klientů .
Úplné nebo relativní URI zdroje, ze kterého klient provedl aktuální požadavek. Pokud je zadán relativní, pak je plný určen požadovaným URI. Klienti NESMÍ zahrnout ukazatel fragmentu (část URI za znakem libry " # ") do hodnoty Referer . Také nemůžete zahrnout odkazy na zdroje, které nemají vlastní URI (například zadání adresy z klávesnice).
Příklady:
Určuje klientský software a jeho vlastnosti. Podobný je Server pro servery a Via pro proxy.
Hlavičky odpovědí jsou zahrnuty pouze v odpovědích serveru .
Seznam podporovaných metod pro celý server nebo konkrétní zdroj. Odesláno serverem spolu se stavy 405 a 501 a jako odpověď na metodu OPTIONS .
Příklad:Allow: GET, HEAD, OPTIONS
Záhlaví entit jsou záhlaví , která doprovázejí každou entitu v požadavcích klienta i v odpovědích serveru. Nicméně mít nějaké je zbytečné v záhlaví požadavků (jako Expires ). Hlavičky entit jsou rozděleny do samostatné třídy , aby nedošlo k záměně s hlavičkami požadavků nebo hlavičkami odpovědí při přenosu více obsahu ( multipart/* ). Hlavičky požadavku a odpovědi, stejně jako hlavní hlavičky, popisují celou zprávu jako celek a jsou umístěny pouze v počátečním bloku hlaviček, zatímco hlavičky entit charakterizují obsah každé části zvlášť, umístěné bezprostředně před jejím tělem.
Určuje jeden nebo více přirozených jazyků obsahu, pro jehož rodilé mluvčí je určen. Jazyky jsou uvedeny oddělené čárkami, na pořadí nezáleží. Pokud je tento nadpis vynechán, předpokládá se, že obsah je určen lidem, kteří rozumí jakémukoli jazyku (nebo na jazyku vůbec nezáleží). Je přitom možné, že tam člověk nenajde informace v jazyce, kterému rozumí.
Všimněte si, že toto pole by nemělo zahrnovat všechny jazyky použité v dokumentu, pouze ty, o kterých si myslíte, že jim koncový uživatel rozumí. Pokud se například jedná o stránku anglické učebnice pro rusky mluvící publikum, měla by být uvedena pouze ruština, protože pro anglicky mluvící lidi není potřeba. A pokud se jedná o stránku s chybovou zprávou ve dvou jazycích, musíte zadat oba.
RFC říká, že jazyk obsahu lze určit pro jakýkoli typ média, nejen pro text. Pokud se například jedná o video, kde lidé mluví anglicky, ve kterém je na straně okno s překladem znakového jazyka v Amslenu a dole je překlad s titulky v ruštině, pak by záhlaví Content-Language mělo mají hodnotu " en, ase, ru". Zároveň, pokud se jedná o video, kde postavy mluví japonsky a existuje hlasový překlad v ruštině, měla by být uvedena pouze ruština, protože pro Japonce bude s největší pravděpodobností obtížné slyšet jejich rodnou řeč.
Hlavička Content-Language je popsána nejen v hlavních specifikacích pro protokol HTTP, ale také v samostatném RFC 3282 „Záhlaví jazyka obsahu“. Všechny názvy jazyků jsou registrovány u IANA. Odkaz na jejich registr najdete na konci tohoto článku.
Hlavní HTTP RFC (v sestupném pořadí podle data vydání):
Materiály o přirozených jazycích:
Web a webové stránky | |
---|---|
globálně | |
Lokálně | |
Typy stránek a služeb |
|
Tvorba a údržba | |
Typy rozložení, stránek, webů | |
Technický | |
Marketing | |
Společnost a kultura |
http | |
---|---|
Obecné pojmy |
|
Metody | |
Tituly |
|
Stavové kódy |