A HTTP működése

A Unix/Linux szerverek üzemeltetése wikiből
A lap korábbi változatát látod, amilyen KornAndras (vitalap | szerkesztései) 2006. szeptember 15., 00:52-kor történt szerkesztése után volt.

(eltér) ←Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

A HTTP-t remélhetőleg senkinek sem kell bemutatni.

Egy tipikus tranzakció így néz ki:

Kliens:

GET / HTTP/1.0
If-Modified-Since: Thu, 14 Sep 2006 10:30:58 GMT
Host: chardonnay.math.bme.hu
User-Agent: NutScrape/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive

Erre a szerver:

HTTP/1.1 200 OK
Date: Thu, 14 Sep 2006 22:46:45 GMT
Server: Apache
Last-Modified: Thu, 14 Sep 2006 22:46:00 GMT
Content-Length: 6730
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html

Azt érdemes megfigyelni, hogy egy IP:port kombináción több virtuális webszerverünk is lehet a Host: headernek köszönhetően.

HTTPS esetén ugyanez nem működik, mert az SSL handshake megelőzi a HTTP-kérést, így a szerver nem tudja, melyik tanúsítványt mutassa; ha viszont nem ahhoz a szervernévhez tartozót mutatja, amelyikről a kliens le akar tölteni valamit, az egyrészt sechole, másrészt sopánkodik is miatta a böngésző.

HTTPS esetén vagy minden hosztot külön IP:portra kell rakni, vagy minden virtuális hosztnak ugyanabba a domainbe kell tartoznia, és *.domain.com-ra érvényes tanúsítvány kell. (Minden kliens elfogadja?)

Személyes eszközök