400 neispravan zahtjev (Bad request)

Što je 400 Bad Request greška?

Statusni kod 400 Bad Request znači da poslužitelj ne može obraditi zahtjev zbog greške na strani klijenta. Poslužitelji ovu grešku najčešće vraćaju kada utvrde da je zahtjev neispravan, pogrešno oblikovan ili sadrži nevažeće podatke.

Najčešći uzroci uključuju nepravilno formatirane zahtjeve, prevelike zaglavlja ili kolačiće, oštećene kolačiće, nevažeće poruke zahtjeva, a u nekim slučajevima i probleme u konfiguraciji poslužitelja.

Greška 400 Bad Request pripada 4xx seriji HTTP statusnih kodova, koja označava pogreške na strani klijenta:

  • 4 – označava pogrešku klijenta
  • xx – daje dodatne informacije o vrsti pogreške

Ostale česte 4xx greške uključuju:

  • 403 Forbidden – Poslužitelj razumije zahtjev, ali odbija autorizaciju
  • 404 Not Found – Zatraženi resurs ne postoji na poslužitelju
  • 410 Gone – Zatraženi resurs trajno je uklonjen
  • 451 Unavailable for Legal Reasons – Resurs nije dostupan zbog zakonskih ograničenja
400 Nispravan zahtjev

Najčešći uzroci greške 400 Bad Request

Budući da je greška 400 općenita klijentska greška, ponekad je teško točno odrediti uzrok. Ipak, najčešći razlozi uključuju:

1. Prevelika veličina zahtjeva

Poslužitelji često imaju ograničenja na veličinu zahtjeva koje mogu obraditi. Ako zahtjev premaši to ograničenje, poslužitelj ga može odbiti i vratiti grešku 400.

Na primjer, ako poslužitelj dopušta upload do 5 MB, pokušaj slanja datoteke od 10 MB može rezultirati greškom 400.

2. Neispravno oblikovan URL

Neispravan (malformed) URL sadrži sintaktičke pogreške poput nedostajućih, nevažećih ili nepodržanih znakova.

Primjeri neispravnih URL-ova:

  • yourdomain..com (dvije točke)
  • yourdomain.com/best yoga (razmak)

Takvi URL-ovi najčešće uzrokuju grešku 400 Bad Request.

3. Nepodržane HTTP metode

Poslužitelji podržavaju samo određene HTTP metode. Najčešće metode poput GET, POST, PUT i DELETE podržane su na većini poslužitelja.

Ako klijent pokuša koristiti HTTP metodu koju poslužitelj ne prepoznaje ili ne podržava, može doći do greške 400.

Primjerice, neke konfiguracije podržavaju metodu PURGE, dok je mnogi poslužitelji ne podržavaju.

4. Oštećeni kolačići (cookies)

Kolačići se koriste za pohranu sesijskih podataka i drugih informacija između klijenta i poslužitelja. Ako su kolačići oštećeni, skraćeni ili sadrže nevažeće znakove, poslužitelj može odbiti zahtjev i vratiti grešku 400.

5. Problemi s DNS-om (Domain Name System)

Iako DNS rijetko izravno uzrokuje grešku 400, problemi s DNS-om mogu joj pridonijeti.

Primjeri uključuju:

  • Nepravilno formatirane DNS zahtjeve
  • Nemogućnost poslužitelja da stupi u kontakt s DNS poslužiteljem
  • Privremene poteškoće u radu DNS poslužitelja

6. Problemi u konfiguraciji poslužitelja

U nekim slučajevima problem može biti u samom poslužitelju. Pogrešne postavke rutiranja, obrade zahtjeva ili sigurnosnih pravila mogu uzrokovati grešku 400 čak i kada je zahtjev ispravno poslan.

Kako riješiti grešku HTTP 400 Bad Request

Rješenje ovisi o uzroku greške, ali sljedeći koraci mogu pomoći u rješavanju najčešćih problema:

1. Očistite kolačiće preglednika

Oštećeni kolačići čest su uzrok greške 400. Očistite kolačiće i cache preglednika te ponovno pokušajte otvoriti stranicu.

2. Provjerite i ispravite URL

Pažljivo provjerite URL radi tipfelera i sintaktičkih pogrešaka poput razmaka, nedostajućih kosa crta ili pogrešnih domena. URL mora biti pravilno formatiran.

Posebne znakove potrebno je ispravno enkodirati (UTF-8):

  • Razmak → %20
  • & → %26
  • = → %3D
  • ? → %3F

Primjer:

yourdomain.com/yoga poses → yourdomain.com/yoga%20poses

3. Uklonite nevažeće znakove

Provjerite zahtjev i uklonite sve nevažeće ili pogrešno formatirane znakove u URL-ovima, zaglavljima i tijelu zahtjeva. Korištenje standardnih znakova i pravilne enkodacije smanjuje mogućnost pojave greške 400.

4. Smanjite veličinu zahtjeva

Provjerite dokumentaciju poslužitelja kako biste saznali maksimalnu dopuštenu veličinu zahtjeva. Po potrebi smanjite veličinu datoteka kompresijom, uklanjanjem nepotrebnih podataka ili dijeljenjem zahtjeva na manje cjeline.

5. Koristite podržane HTTP metode

Provjerite koristi li zahtjev HTTP metodu koju poslužitelj podržava za određeni endpoint. Pregledajte API ili poslužiteljsku dokumentaciju i po potrebi prilagodite zahtjev.

6. Uključite sva potrebna HTTP zaglavlja

Provjerite sadrži li zahtjev sva obavezna HTTP zaglavlja, poput Authorization ili Content-Type, ako su potrebna. Informacije o potrebnim zaglavljima pronađite u dokumentaciji poslužitelja.

7. Provjerite i ispravite probleme na poslužitelju

Ako se greška 400 i dalje pojavljuje unatoč ispravnim klijentskim zahtjevima, potrebno je provjeriti konfiguraciju poslužitelja. Pregledajte pravila rutiranja, postavke obrade sadržaja i sigurnosna ograničenja koja mogu sprječavati obradu valjanih zahtjeva.

Izrada web stranica
Pregled privatnosti

Ova web stranica koristi kolačiće tako da vam možemo pružiti najbolje moguće korisničko iskustvo. Podaci o kolačićima pohranjuju se u vašem pregledniku i obavljaju funkcije poput prepoznavanja kod povratka na našu web stranicu i pomaže našem timu da shvati koji su dijelovi web stranice vama najzanimljiviji i najkorisniji.