{"id":612,"date":"2024-12-10T14:34:07","date_gmt":"2024-12-10T14:34:07","guid":{"rendered":"https:\/\/iseebugs.pl\/?p=612"},"modified":"2024-12-10T14:34:07","modified_gmt":"2024-12-10T14:34:07","slug":"response-kody-odpowiedzi-http","status":"publish","type":"post","link":"https:\/\/iseebugs.pl\/index.php\/2024\/12\/10\/response-kody-odpowiedzi-http\/","title":{"rendered":"Response &#8211; Kody odpowiedzi HTTP"},"content":{"rendered":"\n<p>W jednym z <a href=\"https:\/\/iseebugs.pl\/index.php\/2024\/03\/19\/protokol-http\/\" data-type=\"post\" data-id=\"509\">artyku\u0142\u00f3w<\/a> pisa\u0142em, \u017ce odpowiedzi HTTP sk\u0142adaj\u0105 si\u0119 mi\u0119dzy innymi ze statusu odpowiedzi. |Zosta\u0142y tam przedstawione niekt\u00f3re z typowych status\u00f3w odpowiedzi HTTP. Teraz po\u015bwi\u0119cimy im troch\u0119 wi\u0119cej czasu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Po co s\u0105 kody odpowiedzi?<\/h2>\n\n\n\n<p>Aby w \u0142atwy spos\u00f3b mo\u017cna by\u0142o wiedzie\u0107 czy zapytanie wys\u0142ane na serwer si\u0119 powiod\u0142o czy nie. A je\u017celi nie to dlaczego.<\/p>\n\n\n\n<p>Istnieje kilka g\u0142\u00f3wnych kategorii odpowiedzi aby mo\u017cna by\u0142o bez wnikania w ca\u0142y kod wiedzie\u0107 czy ewentualny b\u0142\u0105d by\u0142 np. po stronie aplikacji, u\u017cytkownika. Poni\u017cej zostan\u0105 przedstawione poszczeg\u00f3lne grupy wraz z wyszczeg\u00f3lnieniem najwa\u017cniejszych kod\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kody Informacyjne &#8211; HTTP 1xx<\/h2>\n\n\n\n<p>Kody kt\u00f3re oznaczaj\u0105, \u017ce \u017c\u0105danie zosta\u0142o odebrane ale nadal jest przetwarzane.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Kod<\/td><td>Opis s\u0142owny<\/td><td>znaczenie \/ zwracany zas\u00f3b<\/td><\/tr><tr><td>100<\/td><td>Continue<\/td><td>Kontynuuj &#8211; wy\u015blij jeszcze raz te zapytanie.<\/td><\/tr><tr><td>110<\/td><td>Connection Timed Out<\/td><td>Przekroczono czas po\u0142\u0105czenia.<\/td><\/tr><tr><td>111<\/td><td>Connection refused<\/td><td>Serwer odrzuci\u0142 po\u0142\u0105czenie<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Kody informacyjne 1xx<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kody Sukcesu &#8211; HTTP 2xx<\/h2>\n\n\n\n<p>Kody oznaczaj\u0105 sukces danego zapytania.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Kod<\/td><td>Opis s\u0142owny<\/td><td>znaczenie \/ zwracany zas\u00f3b<\/td><\/tr><tr><td>200<\/td><td>OK<\/td><td>\u017c\u0105dany zas\u00f3b, np. przy \u017c\u0105daniu GET<\/td><\/tr><tr><td>201<\/td><td>Created<\/td><td>potwierdzenie zapisania danych na serwerze, np. stworzenie nowego u\u017cytkownika<\/td><\/tr><tr><td>202<\/td><td>Accepted<\/td><td>przyj\u0119to do realizacji, ale jeszcze nie sko\u0144czono go przetwarza\u0107<\/td><\/tr><tr><td>204<\/td><td>No content<\/td><td>serwer wykona\u0142 zapytanie i nie ma potrzeby zwraca\u0107 \u017cadnej tre\u015bci<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Kody sukcesu 2xx<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kody Przekierowania &#8211; HTTP 3xx<\/h2>\n\n\n\n<p>Kody oznaczaj\u0105, \u017ce zapytanie zosta\u0142o przekierowanie na inny adres. <\/p>\n\n\n\n<p>Podobie\u0144stwa i r\u00f3\u017cnice:<\/p>\n\n\n\n<ul>\n<li>Kody 301 oraz 302 HTTP s\u0105 u\u017cywane do sta\u0142ych i tymczasowych zmian adres\u00f3w, natomiast kod 303 jest przeznaczony do \u017c\u0105da\u0144 typu POST.<\/li>\n\n\n\n<li>Kod 302 i 307 oba s\u0105 wykorzystywane do tymczasowych przekierowa\u0144. 307 zachowuje oryginaln\u0105 metod\u0119 HTTP za to  302 mo\u017ce by\u0107 zmienione na GET.<\/li>\n\n\n\n<li>Kod 301 i 308 oba s\u0105 wykorzystywane do tymczasowych przekierowa\u0144. 308 zachowuje oryginaln\u0105 metod\u0119 HTTP za to  301 mo\u017ce by\u0107 zmienione na GET.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Kod<\/td><td>Opis s\u0142owny<\/td><td>znaczenie \/ zwracany zas\u00f3b<\/td><\/tr><tr><td>301<\/td><td>Moved permanently<\/td><td>trwale przeniesiony &#8211; \u017c\u0105dany zas\u00f3b zmieni\u0142 sw\u00f3j URI i tam powinni\u015bmy go szuka\u0107. Mo\u017ce by\u0107 zamieniona na GET.<\/td><\/tr><tr><td>302<\/td><td>Found<\/td><td>znaleziono &#8211; \u017c\u0105dany zas\u00f3b jest tymczasowo dost\u0119pny pod innym adresem. Mo\u017ce by\u0107 zamieniona na GET.<\/td><\/tr><tr><td>303<\/td><td>See other<\/td><td>zobacz inne &#8211; odpowied\u017a na \u017c\u0105danie znajduje si\u0119  pod innym URI. Dedykowane dla zapyta\u0144 typu POST.<\/td><\/tr><tr><td>307<\/td><td>Temporary redirected<\/td><td>tymczasowe przekierowanie &#8211; \u017c\u0105dany zas\u00f3b tymczasowo znajduje si\u0119 pod innym adresem. Zachowuje oryginaln\u0105 metod\u0119 HTTP.<\/td><\/tr><tr><td>308<\/td><td>Permanent Redirected<\/td><td>trwa\u0142e przekierowanie &#8211; \u017cadany zas\u00f3b zmieni\u0142 sw\u00f3je URI i tam powinni\u015bmy go szuka\u0107. Zachowuje oryginaln\u0105 metod\u0119 HTTP.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Kody przekierowa\u0144 3xx<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kody b\u0142\u0119d\u00f3w po stronie klienta &#8211; HTTP 4xx<\/h2>\n\n\n\n<p>W przypadku b\u0142\u0119dnego \u017c\u0105dania otrzymujemy w odpowiedzi status 4xx.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Kod<\/td><td>Opis s\u0142owny<\/td><td>znaczenie \/ zwracany zas\u00f3b<\/td><\/tr><tr><td>400<\/td><td>Bad Request<\/td><td>z\u0142e zapytanie &#8211; b\u0142\u0119dne \u017c\u0105danie, b\u0142\u0105d u\u017cytkownika w zapytaniu np. z\u0142e body \u2013<\/td><\/tr><tr><td>401<\/td><td>Unauthorized<\/td><td>nieautoryzowany dost\u0119p &#8211; \u017c\u0105danie wymaga autoryzacji<\/td><\/tr><tr><td>403<\/td><td>Forbidden<\/td><td>zabroniony &#8211; u\u017cytkownik nie posiada uprawnie\u0144 do zasobu<\/td><\/tr><tr><td>404<\/td><td>Not Found<\/td><td>nie odnaleziono zasobu<\/td><\/tr><tr><td>409<\/td><td>Conflict<\/td><td>konflikt &#8211; wyst\u0119puje konflikt z istniej\u0105cym zasobem<\/td><\/tr><tr><td>414<\/td><td>Request URI Too Long<\/td><td>adres URI za d\u0142ugi &#8211; np. przy przekazywaniu du\u017cej ilo\u015bci parametr\u00f3w w URI dla metody GET<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Kody b\u0142\u0119d\u00f3w klienta 4xx<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Kody b\u0142\u0119d\u00f3w po stronie serwera &#8211; HTTP 5xx<\/h2>\n\n\n\n<p>Kody odpowiedzi w przypadku b\u0142\u0119d\u00f3w po stronie serwera np. nieobs\u0142u\u017cenie jakiego\u015b wyj\u0105tku przez programist\u0119 lub nieprzetworzenie b\u0142\u0119dnej odpowiedzi z us\u0142ugi zewn\u0119trznej.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Kod<\/td><td>Opis s\u0142owny<\/td><td>znaczenie \/ zwracany zas\u00f3b<\/td><\/tr><tr><td>500<\/td><td>Internal Server Error<\/td><td>wewn\u0119trzny b\u0142\u0105d serwera &#8211; b\u0142\u0119dne \u017c\u0105danie, b\u0142\u0105d u\u017cytkownika w zapytaniu np. z\u0142e body \u2013<\/td><\/tr><tr><td>501<\/td><td>Not Implemented<\/td><td>niezaimplementowane &#8211; serwer nie obs\u0142uguje metody \u017c\u0105dania lub funkcji<\/td><\/tr><tr><td>503<\/td><td>Service Unavailable<\/td><td>us\u0142uga niedost\u0119pna &#8211; serwer tymczasowo wy\u0142\u0105czony z dost\u0119pu lub przeci\u0105\u017cony<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Kody b\u0142\u0119d\u00f3w klienta 5xx<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\n\n\n\n<p>W tym artykule szerzej przyjrzeli\u015bmy si\u0119 kodom odpowiedzi HTTP oraz poznali\u015bmy podstawowe r\u00f3\u017cnice pomi\u0119dzy ich grupami.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bibliografia<\/h2>\n\n\n\n<ul>\n<li>Kody HTTP -> <a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#name-status-codes\">https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#name-status-codes<\/a><\/li>\n\n\n\n<li>Kody HTTP -> <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Status\/308\">https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Status\/308<\/a><\/li>\n\n\n\n<li>Kody HTTP -> <a href=\"https:\/\/pl.wikipedia.org\/wiki\/Kod_odpowiedzi_HTTP\">https:\/\/pl.wikipedia.org\/wiki\/Kod_odpowiedzi_HTTP<\/a><\/li>\n\n\n\n<li>Kody przekierowa\u0144 3xx -> <a href=\"https:\/\/semurai.pl\/akademia\/przekierowania-301-302-307-308\/#przekierowanie-301-302-a-307-i-308-podobienstwa-i-roznice\">https:\/\/semurai.pl\/akademia\/przekierowania-301-302-307-308\/#przekierowanie-301-302-a-307-i-308-podobienstwa-i-roznice<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>W jednym z artyku\u0142\u00f3w pisa\u0142em, \u017ce odpowiedzi HTTP sk\u0142adaj\u0105 si\u0119 mi\u0119dzy innymi ze statusu odpowiedzi. |Zosta\u0142y tam przedstawione niekt\u00f3re z typowych status\u00f3w odpowiedzi HTTP. Teraz po\u015bwi\u0119cimy im troch\u0119 wi\u0119cej czasu. Po co s\u0105 kody odpowiedzi? Aby w \u0142atwy spos\u00f3b mo\u017cna by\u0142o wiedzie\u0107 czy zapytanie wys\u0142ane na serwer si\u0119 powiod\u0142o czy nie. A je\u017celi nie to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":623,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"footnotes":""},"categories":[31],"tags":[32,60,61],"_links":{"self":[{"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/posts\/612"}],"collection":[{"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/comments?post=612"}],"version-history":[{"count":10,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/posts\/612\/revisions"}],"predecessor-version":[{"id":622,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/posts\/612\/revisions\/622"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/media\/623"}],"wp:attachment":[{"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/media?parent=612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/categories?post=612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iseebugs.pl\/index.php\/wp-json\/wp\/v2\/tags?post=612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}