HTTP zprávy jsou tvořeny prostým ASCII textem. Zpráva obsahuje hlavičku a část s datovým tělem. Hlavička zprávy je jednotkou chování a každý řádek končí CRLF (carriage return a zalomení řádku). http žádost:
Příklady jsou následující:
GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
uživatelské jméno=jinqiao&password=1234 RequestMethod: OPTIONS,, POST, PUT, DELETE, TRACE a CONNECT.
GET požadavek pro získání zdroje identifikovaného Request-URI POST přidává nová data za zdroj identifikovaný Request-URI HEAD request pro získání hlavičky odpovědi zdroje identifikovaného Request-URI PUT server požadavků ukládá zdroj a používá Request-URI jako jeho identifikátor DELETE Server požadavků smaže zdroj identifikovaný URI požadavku Server požadavků TRACE vrací přijaté informace o požadavcích, které se používají hlavně k testování nebo diagnostice CONNECT je vyhrazen pro budoucí použití OPTIONS žádá o dotazování výkonu serveru nebo na možnosti a požadavky týkající se zdroje
User-Agent: Informace o prohlížeči klienta. Connection:close označuje, že je použito krátké spojení, a Keep-Alive znamená, že klient podporuje trvalá připojení. Datum: Aktuální čas generování zprávy. Přijímací jazyk: Jazyk podporovaný klientem. Řízení cache: Zda klient podporuje cache. no-cache znamená, že klient nepodporuje cache, například max-age=3600, sděluje uživatelskému agentovi, jak dlouho je výsledek odpovědi na požadavek platný, a během platnosti, kdy uživatel potřebuje přístup znovu, může být produkt přímo z klienta lokálně extrahován bez nutnosti přístupu k serveru. Referer: Referer serveru sděluje, z jaké URL adresy požadavek přichází, což může být použito ke sledování přístupové cesty uživatele na web.
If-Modified-Since: 如果请求消息包含If-Modified-Since标题 域,GET方法的语法就变成“条件GET”,即“(conditional GET)”。 条件GET方法可以对指定资源进行判断,如果它在If-Modified-Since标题域中的指定日期后发生了更新,才启动传输,否则不传输。这种条件 GET允许被缓存的实体在不必经过多次请求或不必要的数据传输就能进行刷新,从而有助于降低网络负载。
Last-Modified: Sun, 03 Dec 2008 23:52:56 GMT
ETag: “1cbf3-dfd-3a2adcd8″ Obecně se používá při stahování souborů k identifikaci doby poslední úpravy obsahu odpovědi nebo k ověření obsahu, a když ji další uživatelský agent potřebuje, služba nejprve zjistí, zda jsou tyto dvě hodnoty stejné jako na serveru, a zda nemusí obsah vracet. Expire: V okamžiku vyprší výsledek odpovědi na požadavek a před vypršením může agent vrátit předchozí výsledek odpovědi přímo z cache. Host: Specifikuje číslo hostitele a portu žádajícího zdroje. HTTP/1.1 požadavky musí uvádět Host, jinak server vrátí stavový kód 400.
http odpověď: Příklady jsou následující: HTTP/1.1 200 OK
Date: Mon, 04 May 2015 04:47:13 GMT
Server: Apache
Cache-Control: max-age=0
Expires: Mon, 04 May 2015 04:47:13 GMT
Vary: Accept-Encoding,User-Agent
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html;charset=utf-8
X-Pad: avoid browser bug
Stavový řádek obsahuje: číslo verze HTTP protokolu, stavový kód a textový popis stavového kódu. Například: HTTP/1.1 200 OK Stavový kód se skládá ze třímístného čísla a stavový kód má přibližně 5 významů: 1. 1xx。 Informace, žádost přijata, pokračujte ve zpracování. 2. 2xx。 Úspěch. 200 žádostí je úspěšných; 206 Breakpoint pokračoval. 3. 3xx。 Přesměrovat. Obecně se doporučuje přejít na novou adresu. 4. 4xx。 Chyba klienta. 404 souborů neexistuje 5. 5xx。 Chyba serveru. 500 interních chyb.
Set-Cookie: Server nastavuje klientskou cookie. Formát nastavení je jméno=hodnota a při nastavení více parametrů je střed oddělen středníkem. Set-Cookie také používá několik parametrů: PATH nastavuje platnou cestu, DOMAIN nastavuje doménové jméno, kde cookie nabývá účinnosti, Expire nastavuje dobu platnosti cookie a 0 znamená, že vyprší po zavření prohlížeče. locatio{filter}n: Tento parametr implementuje přesměrování, když server vrátí 3xx přesměrování. Tento protokol se používá pro přecházení reklamních odkazů. Délka obsahu: Délka přílohy (datové entity). |