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.
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?)