A HTTP működése

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(v0,5)
 
(Hibakódok hozzáadva)
33. sor: 33. sor:
   
 
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?)
 
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?)
  +
  +
== Hibakódok ==
  +
  +
Több más internetes protokollhoz hasonlóan a HTTP-nél is háromjegyű hibakódokkal találkozunk, amelyek első jegyéből lehet következtetni a probléma lényegére. Inkább csak felsorolásszinten:
  +
  +
* 1-essel kezdődő: elvileg van ilyen, pl. egy kapcsolat protokoll-upgrade-je esetén lehetne használni. Látott már ilyet élő ember?
  +
* 2-essel kezdődő: nincs gond, a művelet sikerült.
  +
** 200 OK
  +
** 201 Created
  +
** 202 Accepted
  +
** 203 Non-Authoritative Information
  +
** 204 No Content
  +
** 205 Reset Content
  +
** 206 Partial Content
  +
* 3-assal kezdődő: átirányítás
  +
** 300 Multiple Choices
  +
** 301 Moved Permanently
  +
** 302 Found
  +
** 303 See Other
  +
*** POST eredménye lehet
  +
** 304 Not Modified
  +
** 305 Use Proxy
  +
** 306 volt, de megszűnt
  +
** 307 Temporary Redirect
  +
* 4-essel kezdődő: kliensoldali hiba
  +
** 400 Bad Request
  +
** 401 Unauthorized
  +
** 402 Payment Required
  +
*** "Reserver for future use"
  +
** 403 Forbidden
  +
** 404 Not Found
  +
** 405 Method Not Allowed
  +
** 406 Not Acceptable
  +
** 407 Proxy Authentication Required
  +
** 408 Request Timeout
  +
** 409 Conflict
  +
** 410 Gone
  +
** 411 Length Required
  +
** 412 Precondition Failed
  +
** 413 Request Entity Too Large
  +
** 414 Request-URI Too Long
  +
** 415 Unsupported Media Type
  +
** 416 Requested Range Not Satisfiable
  +
** 417 Expectation Failed
  +
* 5-össel kezdődő: szerveroldali hiba
  +
** 500 Internal Server Error
  +
** 501 Not Implemented
  +
** 502 Bad Gateway
  +
** 503 Service Unavailable
  +
** 504 Gateway Timeout
  +
** 505 HTTP Version Not Supported

A lap 2006. szeptember 15., 00:22-kori változata

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

Hibakódok

Több más internetes protokollhoz hasonlóan a HTTP-nél is háromjegyű hibakódokkal találkozunk, amelyek első jegyéből lehet következtetni a probléma lényegére. Inkább csak felsorolásszinten:

  • 1-essel kezdődő: elvileg van ilyen, pl. egy kapcsolat protokoll-upgrade-je esetén lehetne használni. Látott már ilyet élő ember?
  • 2-essel kezdődő: nincs gond, a művelet sikerült.
    • 200 OK
    • 201 Created
    • 202 Accepted
    • 203 Non-Authoritative Information
    • 204 No Content
    • 205 Reset Content
    • 206 Partial Content
  • 3-assal kezdődő: átirányítás
    • 300 Multiple Choices
    • 301 Moved Permanently
    • 302 Found
    • 303 See Other
      • POST eredménye lehet
    • 304 Not Modified
    • 305 Use Proxy
    • 306 volt, de megszűnt
    • 307 Temporary Redirect
  • 4-essel kezdődő: kliensoldali hiba
    • 400 Bad Request
    • 401 Unauthorized
    • 402 Payment Required
      • "Reserver for future use"
    • 403 Forbidden
    • 404 Not Found
    • 405 Method Not Allowed
    • 406 Not Acceptable
    • 407 Proxy Authentication Required
    • 408 Request Timeout
    • 409 Conflict
    • 410 Gone
    • 411 Length Required
    • 412 Precondition Failed
    • 413 Request Entity Too Large
    • 414 Request-URI Too Long
    • 415 Unsupported Media Type
    • 416 Requested Range Not Satisfiable
    • 417 Expectation Failed
  • 5-össel kezdődő: szerveroldali hiba
    • 500 Internal Server Error
    • 501 Not Implemented
    • 502 Bad Gateway
    • 503 Service Unavailable
    • 504 Gateway Timeout
    • 505 HTTP Version Not Supported
Személyes eszközök