Luettelo HTTP-tilakoodeista

HTTP - tilakoodi on osa HTTP - pyyntöjen palvelimen vastauksen ensimmäistä riviä .  Se on kolminumeroinen desimaaliluku. Ensimmäinen numero ilmaisee tilaluokan . Vastauskoodia seuraa yleensä englanninkielinen välilyönnillä erotettu selittävä lause, joka selittää henkilölle vastauksen syyn. Esimerkkejä:

Asiakas oppii vastauskoodista pyyntönsä tuloksista ja päättää, mitä toimia seuraavaksi tekee. Tilakoodien sarja on standardi ja ne on kuvattu asiaankuuluvissa RFC - asiakirjoissa . Uusien koodien käyttöönotto tulee tehdä vasta IETF :n kuulemisen jälkeen . Käytössä on kuitenkin kaksi tunnettua koodia, joita ei mainita RFC:ssä: 449 Retry With. Mainitaan myös selittävä lause "Reply With" [1] WebDAV - spesifikaatioissa Microsoft Developer Networkissa , jonka Microsoft esitteli ja 509 Bandwidth Limit Exceededesitteli cPanelissa .

Asiakas ei välttämättä tiedä kaikkia tilakoodeja, mutta sen on reagoitava koodiluokan mukaisesti. Tällä hetkellä on viisi tilakoodiluokkaa.

Internet Information Services -verkkopalvelin käyttää lokitiedostoissaan tavallisten tilakoodien lisäksi alikoodeja kirjoittaen ne pisteellä pääkoodin perään. Samanaikaisesti tätä alikoodia ei sijoiteta palvelimen vastauksiin - palvelimen järjestelmänvalvoja tarvitsee sitä voidakseen määrittää tarkemmin ongelmien lähteet.

Arvostelulista

Seuraavassa on yleiskatsaus kaikista tässä artikkelissa kuvatuista vastauskoodeista:

Koodien kuvaus

Tiedollinen

Tämä luokka sisältää koodeja, jotka kertovat lähetysprosessista. Kun käytät protokollaversiota 1.0, tällaisia ​​koodeja sisältävät viestit tulee jättää huomiotta. Versiossa 1.1 asiakkaan tulee olla valmis hyväksymään tämä viestiluokka normaalina vastauksena, mutta palvelimen ei tarvitse lähettää mitään. Itse palvelimelta tulevat viestit sisältävät vain vastauksen aloitusrivin ja tarvittaessa muutaman vastauskohtaisen otsikkokentän. Välityspalvelinten tulee lähettää tällaiset viestit kauemmas palvelimelta asiakkaalle.

Menestys

Tämän luokan viestit kertovat asiakaspyynnön onnistuneesta hyväksymisestä ja käsittelystä. Tilasta riippuen palvelin voi lähettää myös otsikoita ja viestin rungon.

Uudelleenohjaus

Tämän luokan koodit kertovat asiakkaalle, että toiminnon onnistumiseksi on tehtävä toinen pyyntö, yleensä eri URI :lla . Tästä luokasta viisi koodia 301, 302, 303ja viittaavat 305suoraan 307uudelleenohjauksiin. Osoite, johon asiakkaan tulee tehdä pyyntö, on palvelimen ilmoittama Location. Tämä sallii fragmenttien käytön kohde-URI:ssa.

Uusimpien standardien mukaan asiakas voi vain ohjata uudelleen kysymättä käyttäjältä, pyydetäänkö toista resurssia menetelmällä GETtai HEAD[7] . Aiemmissa määrityksissä sanottiin, että edestakaisten matkojen välttämiseksi käyttäjältä tulee kysyä viidennen peräkkäisen uudelleenohjauksen jälkeen [16] . Kaikissa uudelleenohjauksissa, jos pyyntötapa ei ollut HEAD, tulee vastauksen runkoon sisällyttää lyhyt hypertekstiviesti kohdeosoitteella, jotta virhetapauksessa käyttäjä voi navigoida itse.

HTTP-kehittäjät huomauttavat, että monet asiakkaat koodien avulla uudelleenohjattaessa 301käyttävät 302menetelmää virheellisesti GETtoiseen resurssiin huolimatta siitä, että ensimmäinen pyyntö oli eri menetelmällä (useimmiten PUT) [17] . Väärinkäsitysten välttämiseksi HTTP/1.1 esitteli koodit 303ja 307ja niitä suositellaan käytettäväksi 302. Sinun tarvitsee vaihtaa menetelmää vain, jos palvelin vastasi 303. Muissa tapauksissa seuraava pyyntö tehdään alkuperäisellä menetelmällä.

Asiakkaiden käyttäytyminen eri uudelleenohjauksissa on kuvattu taulukossa:

Vastauksen tila välimuisti Jos menetelmä ei ole GET tai HEAD
301 Moved Permanently Voit kuten tavallisesti. Pyydä käyttäjältä vahvistus ja pyydä toinen resurssi alkuperäisellä menetelmällä.
307 Temporary Redirect Mahdollista vain, jos otsikko Cache-Controltai Expires.
302 Found(HTTP/1.1)
302 Moved Temporarily(HTTP/1.0)
303 See Other Se on kielletty. Siirry automaattisesti, mutta käyttämällä GET.

Asiakasvirhe

Koodiluokka 4xxon tarkoitettu osoittamaan asiakaspuolen virheitä. Käytettäessä kaikkia menetelmiä paitsi HEAD, palvelimen on palautettava hypertekstiselitys käyttäjälle viestin tekstiosassa.

Palvelinvirhe

Koodit 5xxon omistettu käsittelemättömien poikkeuksien tapauksille suoritettaessa toimintoja palvelinpuolella. Kaikissa muissa tilanteissa paitsi menetelmää HEADkäytettäessä palvelimen PITÄÄ sisällyttää viestin tekstiosaan selitys, jonka asiakas näyttää käyttäjälle.

Katso myös

Muistiinpanot

  1. 1 2 2.2.6 449 "Yritä uudelleen tilakoodilla" // Web Distributed Authoring and Versioning (WebDAV) -protokolla: Client Extensions. Arkistoitu 5. lokakuuta 2009 MSDN :n Wayback Machinessa
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 35 6 7 8 9 10 11 12 13 14 15 20 21 22 23 24 25 26 27 28 29 30 31 32 35 36 11 36 36 kesäkuu 7. 2018 Wayback Machinessa » RFC 2068:ssa
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32613 RFC . _ Käyttöpäivä: 29. heinäkuuta 2009. Arkistoitu alkuperäisestä 7. maaliskuuta 2011.
  4. 1 2 3 IETF luonnos WebDAV Advanced Collections Protocol  - S.4.2.5 . Käyttöönottopäivämäärä: 18. toukokuuta 2012. Arkistoitu alkuperäisestä 9. heinäkuuta 2012.
  5. IETF luonnos WebDAV Advanced Collections Protocol  - S.10 . Käyttöönottopäivämäärä: 18. toukokuuta 2012. Arkistoitu alkuperäisestä 9. heinäkuuta 2012.
  6. rfc5842 . Haettu 12. syyskuuta 2017. Arkistoitu alkuperäisestä 10. lokakuuta 2017.
  7. 1 2 3 4 5 6 7 8 9 10 RFC 2616 "10.3 Uudelleenohjaus 3xx" (s. 61) . Käyttöpäivä: 29. heinäkuuta 2009. Arkistoitu alkuperäisestä 7. maaliskuuta 2011.
  8. rfc7538 . Haettu 12. syyskuuta 2017. Arkistoitu alkuperäisestä 16. huhtikuuta 2015.
  9. IETF luonnos WebDAV Advanced Collections Protocol  - S.4.3.1.1 . Käyttöönottopäivämäärä: 18. toukokuuta 2012. Arkistoitu alkuperäisestä 9. heinäkuuta 2012.
  10. rfc7540 . Haettu 12. syyskuuta 2017. Arkistoitu alkuperäisestä 23. kesäkuuta 2015.
  11. 1 2 3 4 RFC 6585
  12. 1 2 IETF Luonnos uudeksi HTTP-tilakoodiksi laillisten esteiden ilmoittamiseksi . Haettu 6. maaliskuuta 2013. Arkistoitu alkuperäisestä 22. toukokuuta 2013.
  13. RFC 2295 Transparent Content Negotiation HTTP  -S.8.1 :ssä . Käyttöpäivä: 18. toukokuuta 2012. Arkistoitu alkuperäisestä 8. kesäkuuta 2012.
  14. IETF luonnos WebDAV Advanced Collections Protocol  - S.7.1 . Käyttöönottopäivämäärä: 18. toukokuuta 2012. Arkistoitu alkuperäisestä 9. heinäkuuta 2012.
  15. 1 2 3 4 5 6 7 Virhesivut - CloudFlare-tuki . Haettu 18. huhtikuuta 2016. Arkistoitu alkuperäisestä 4. maaliskuuta 2016.
  16. RFC 2068 "10.3 Redirection 3xx" (s. 56) Arkistoitu 7. kesäkuuta 2018 Wayback Machinessa .
  17. RFC 2616 , osa "10.3.3 302 Found", sivu 63 Arkistoitu 7. maaliskuuta 2011 Wayback Machinessa .
  18. Josh Cohen HTTP/1.1 305- ja 306-vastauskoodit arkistoitu 8. syyskuuta 2014 Wayback Machinessa  // Netscape Communications Corp., 25. joulukuuta 1996
  19. Mitä 403 Kielletty tarkoittaa? Arkistoitu 21. helmikuuta 2014 Wayback Machinessa .
  20. 404 ei löydy -virheen syyt arkistoitu 21. helmikuuta 2014 Wayback Machinessa .
  21. RFC 2324 - Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) .
  22. draft-ietf-httpbis-legally-restricted-status-04 . datatracker.ietf.org. Haettu 22. joulukuuta 2015. Arkistoitu alkuperäisestä 23. joulukuuta 2015.
  23. Kuvaus 500 sisäisestä palvelinvirheestä arkistoitu 21. helmikuuta 2014 Wayback Machinessa .
  24. Resurssiraja saavutettu . www.cloudlinux.com _ Haettu 21. kesäkuuta 2022. Arkistoitu alkuperäisestä 15. toukokuuta 2021.

Linkit

HTTP-ydinasiakirjat (laskeva julkaisupäivän mukaan) HTTP-protokollan laajennuksia ja päivityksiä koskevat asiakirjat (laskeva julkaisupäivän mukaan) Lisämateriaalit