Eroarea HTTP 413 "Conținut prea mare" înseamnă că un server sau o altă componentă a căii de solicitare a respins o solicitare deoarece dimensiunea acesteia a depășit limita permisă. Solicitarea poate conține un fișier încărcat, date dintr-un formular, o temă, un plugin, o copie de rezervă sau o altă încărcătură de mari dimensiuni. Limita poate fi impusă de serverul web, de PHP, de un proxy invers, de un CDN sau de CMS-ul care primește solicitarea.
Un răspuns 413 nu înseamnă întotdeauna că fișierul în sine este deteriorat. De obicei, înseamnă că solicitarea a fost respinsă înainte ca următorul strat de procesare să o poată accepta. Prima sarcină este identificarea stratului care a returnat răspunsul. Soluția corectă depinde de acel strat.
Cuprins
Ce înseamnă HTTP 413?
O cerere HTTP conține un corp atunci când trimite date către un server. O cerere de încărcare include, de obicei, fișierul și datele aferente din formular în acest corp. Un răspuns 413 înseamnă că întregul corp al cererii, sau o parte a acestuia supusă unei reguli de dimensiune, depășește limita permisă de stratul receptor.
Se pot aplica mai multe limite la o singură încărcare. Un server web poate respinge cererea în etapa de conectare sau de procesare a cererii. PHP poate aplica o limită în timp ce pregătește datele pentru o aplicație. Un proxy invers sau un CDN poate respinge cererea înainte ca aceasta să ajungă la serverul de origine. De asemenea, un CMS poate aplica propria regulă de încărcare sau de cerere. Cea mai mică limită aplicabilă determină dacă cererea are succes.
Unde poate fi respinsă solicitarea?
| Nivel | Ce controlează | Ce sugerează o respingere |
|---|---|---|
| Server web | Solicitarea primită de server | Solicitarea poate fi respinsă înainte ca aplicația să se execute |
| PHP | Datele transmise scripturilor PHP | Limita de procesare PHP poate fi mai mică decât dimensiunea fișierului |
| Proxy invers sau CDN | Solicitările care trec printr-un intermediar | Intermediarul poate respinge solicitarea înainte ca aceasta să ajungă în mediul de găzduire |
| CMS | Încărcările gestionate în interiorul aplicației | Aplicația poate afișa propria limită de încărcare chiar și atunci când straturile inferioare permit cererea |
WordPress limitează dimensiunea maximă a fișierelor încărcate prin panoul său de administrare. În funcție de configurația site-ului web, această limită poate afecta fișierele media mai mari, temele, pluginurile și copiile de rezervă. Limita poate fi mărită prin modificarea configurației site-ului web, inclusiv a fișierului .htaccess, acolo unde această metodă este aplicabilă. Consultați instrucțiunile mybox pentru mărirea dimensiunii maxime de încărcare în WordPress.
Cum se identifică nivelul de limitare
- Înregistrați locul în care apare eroarea. Notați dacă codul 413 este afișat de browser, de o pagină proxy sau CDN, de serverul web sau de panoul de administrare al CMS-ului. Răspunsul vizibil poate indica care strat a gestionat solicitarea.
- Verificați tipul cererii. Confirmați dacă eroarea apare în timpul încărcării unui fișier, a trimiterii unui formular, a unui import, a încărcării unei copii de rezervă sau a unei alte acțiuni care trimite date către server.
- Comparați cu o solicitare mai mică. Trimiteți un fișier sau o încărcătură mai mică folosind aceeași acțiune. Dacă solicitarea mai mică are succes, iar cea mai mare returnează codul 413, eroarea este cauzată de o limită a dimensiunii solicitării.
- Verificați fiecare limită în ordinea cererii. Examinați setările serverului web, PHP, proxy-ului invers sau CDN-ului și ale CMS-ului care se aplică cererii. O modificare la un strat nu poate anula o limită inferioară la un alt strat.
- Analizați sursa răspunsului. O pagină de răspuns, un jurnal de server, un jurnal de proxy sau un mesaj al aplicației poate indica componenta care a respins solicitarea. Utilizați componenta menționată acolo ca punct de plecare pentru modificare.
Cum să ajustați limita în siguranță
Modificați limita la nivelul stratului care a respins solicitarea. Măriți doar valoarea relevantă și setați-o la un nivel suficient de ridicat pentru fișierul sau solicitarea vizată, în loc să măriți cât mai mult posibil fiecare solicitare. Dacă mai multe straturi au o limită, valoarea necesară trebuie să fie permisă de toate straturile implicate.
Efectuați o singură modificare de configurare la un moment dat. Păstrați o evidență a valorii anterioare, astfel încât aceasta să poată fi restabilită dacă rezultatul nu este cel așteptat. Aplicați modificarea folosind metoda de configurare disponibilă pentru acel strat. Pentru încărcările în WordPress, utilizați metoda de configurare a site-ului web aplicabilă, descrisă în articolul mybox privind dimensiunea de încărcare în WordPress.
O limită mai mare crește cantitatea de date pe care serverul și aplicația ar putea fi nevoite să o primească și să o proceseze. Prin urmare, aceasta poate crește timpul de procesare și consumul de resurse. Limita ar trebui să corespundă unei cerințe reale, cum ar fi un fișier de backup sau un fișier media cunoscut, și nu ar trebui mărită fără o necesitate clară.
Cum să validați modificarea
- Reîncercați aceeași încărcare sau solicitare care a returnat codul 413.
- Testați cu un fișier sub noua limită prevăzută.
- Testați cu un fișier apropiat de limită pentru a confirma că limita se comportă conform așteptărilor.
- Confirmați că CMS-ul finalizează operațiunea și că elementul încărcat este disponibil ulterior.
- Verificați dacă un alt strat returnează în continuare codul 413. Dacă da, continuați cu acel strat în loc să modificați în mod repetat setarea CMS-ului.
Un test reușit ar trebui să arate că solicitarea ajunge la aplicația vizată și se finalizează în mod normal. Dacă codul de eroare se schimbă de la 413 la 503, este posibil ca limita de dimensiune să nu mai fie cauza imediată a blocării, ci mediul de găzduire să nu poată procesa solicitarea deoarece resursele disponibile ale pachetului de găzduire au fost depășite. Un cod 503 indică o problemă temporară de resurse sau de performanță, nu același răspuns ca 413. Consultați informațiile mybox despre eroarea 503.
Cum se pot preveni solicitările supradimensionate
- Setați limita în funcție de cel mai mare fișier sau de cea mai mare solicitare de care site-ul web are nevoie efectiv.
- Mențineți limite separate, aliniate între serverul web, PHP, proxy-ul invers sau CDN și CMS.
- Utilizați fișiere mai mici sau împărțiți operațiunile mari atunci când aplicația acceptă acest flux de lucru.
- Verificați fișierele media, temele, pluginurile și copiile de rezervă de dimensiuni mari înainte de a le încărca prin CMS.
- Monitorizați solicitările mari repetate, deoarece acestea pot consuma capacitatea de procesare.
Codul de stare HTTP 413 indică o problemă legată de dimensiunea solicitării. Identificați stratul care a respins solicitarea, ajustați acel strat și orice limită inferioară care se aplică în continuare, apoi validați printr-o încărcare controlată. Mențineți limita corelată cu un caz de utilizare real, astfel încât solicitările mai mari să nu creeze probleme de performanță sau expunere la riscuri de securitate care pot fi evitate.