Pentru a diagnostica erorile HTTP, începeți cu solicitarea browserului, continuați cu un test direct curl și apoi corelați solicitarea cu intrările din jurnalele serverului web sau de e-mail. Chiar și atunci când un browser afișează doar o pagină generică de eroare 4xx sau 5xx, răspunsul conține indicii utile. Această abordare pe mai multe niveluri ajută la restrângerea problemei la cerere, serverul web, proxy-ul sau CDN-ul, sau aplicație.
Cuprins
Ce dovezi trebuie să colectați mai întâi?
Înregistrați adresa URL exactă, codul de stare HTTP, metoda de solicitare și ora testului. Păstrați anteturile răspunsului și orice corp al răspunsului vizibil. Dacă solicitarea a fost efectuată de pe o pagină, notați și adresa URL a paginii care a declanșat-o.
Utilizați aceeași adresă URL pentru fiecare test, acolo unde este posibil. Detaliile consistente ale testului facilitează compararea rezultatului din browser, a răspunsului serverului și a înregistrării corespunzătoare din jurnal.
Verificați solicitarea eșuată în instrumentele de dezvoltare ale browserului
- Deschideți instrumentele de dezvoltare ale browserului și selectați vizualizarea rețelei.
- Reîncărcați pagina sau repetați acțiunea care generează eroarea.
- Găsiți solicitarea cu răspunsul 4xx sau 5xx.
- Deschideți detaliile solicitării și notați codul de stare, adresa URL a solicitării, metoda, anteturile răspunsului și corpul răspunsului.
- Verificați dacă și alte solicitări eșuează în același timp. Rețineți dacă solicitarea eșuată se referă la pagina însăși, la un script, la un fișier de stil, la o imagine sau la un punct final API.
Solicitarea eșuată identifică resursa care a returnat eroarea. Dacă pagina principală se încarcă cu succes, dar o solicitare de script sau API eșuează, problema se limitează la acea solicitare separată, nu la răspunsul complet al paginii.
Utilizați codul de stare pentru a alege următoarea verificare
Un răspuns 403 înseamnă că accesul la resursa solicitată a fost refuzat. Serverul a înțeles solicitarea, dar a refuzat să furnizeze conținutul. Acest lucru poate afecta atât vizitatorii site-ului, cât și proprietarii acestuia, iar cauzele posibile pot diferi de la o situație la alta. Consultați Motivele pentru mesajul 403 atunci când testul efectuat în browser sau din linia de comandă returnează 403.
Pentru alte răspunsuri 4xx și 5xx, păstrați codul de stare împreună cu detaliile cererii. Codul vă indică ce răspuns trebuie să comparați cu înregistrările serverului, în timp ce antetele și corpul răspunsului pot arăta dacă răspunsul a provenit de la serverul web, de la un serviciu intermediar sau de la aplicație.
Repetați solicitarea cu curl
Executați solicitarea dintr-un shell în care este disponibil accesul SSH la server. Instrumentul de linie de comandă curl poate măsura cât de repede răspunde un server fără a se baza pe servicii externe de testare. Acest lucru îl face util pentru a verifica dacă răspunsul este reproductibil în afara browserului. Consultați Verificarea timpului de răspuns al site-ului web prin consolă (SSH).
- Rulați
curl -I https://example.com/pathpentru a solicita anteturile de răspuns pentru URL-ul afectat. - Înregistrați starea HTTP și anteturile returnate.
- Comparați rezultatul cu starea și anteturile capturate în browser.
- Rulați din nou același test dacă rezultatul se modifică între solicitări și înregistrați timpul fiecărui test.
Înlocuiți adresa din exemplu cu adresa URL exactă care a dat eroare. Un statut identic în browser și în curl indică faptul că răspunsul poate fi reprodus în afara browserului. Un rezultat diferit înseamnă că cele două solicitări necesită o comparație mai amănunțită, inclusiv adresa URL și metoda de solicitare.
Măsurați timpul de răspuns atunci când viteza face parte din eroare
Din punct de vedere tehnic, un răspuns poate fi returnat chiar dacă solicitarea de bază rămâne lentă. Cu acces SSH, utilizați curl pentru a colecta informații detaliate privind durata răspunsului serverului. Înregistrați rezultatele privind durata lângă URL, codul de stare și ora testului. Acest lucru oferă o fereastră de timp precisă pentru analizarea jurnalului și ajută la diferențierea unui răspuns lent de o eroare imediată.
Repetați verificarea timpului pentru aceeași adresă URL. Dacă timpul de răspuns se modifică, păstrați fiecare rezultat, în loc să utilizați doar cel mai rapid sau cel mai lent test.
Corelați solicitarea cu jurnalele serverului și ale e-mailurilor
- Utilizați timpul de testare înregistrat pentru a selecta perioada corespunzătoare din jurnale.
- Căutați calea solicitată sau alte detalii ale cererii afișate de browser și
curl. - Comparați răspunsul înregistrat cu codul de stare returnat browserului.
- Notați orice erori de execuție a scripturilor sau răspunsuri incorecte ale serverului înregistrate în același timp.
Jurnalele serverului web și de e-mail sunt înregistrări de diagnosticare pentru erorile site-ului web și problemele legate de livrarea e-mailurilor. Acestea pot indica erori de execuție a scripturilor, răspunsuri incorecte ale serverului, probleme cu funcția PHP mail() și eșecuri sau blocări la trimiterea e-mailurilor. Utilizați jurnalele serverului web și de e-mail atunci când răspunsul browserului nu identifică singur cauza.
Corelați fiecare constatare cu acțiunea următoare
| Constatare | Ce indică aceasta | Acțiunea următoare |
|---|---|---|
| Solicitarea browserului eșuează | O anumită resursă a returnat o eroare. | Înregistrați URL-ul, metoda, starea, anteturile și corpul răspunsului. |
Aceeași stare apare în curl | Răspunsul poate fi reprodus în afara browserului. | Utilizați ora corespunzătoare și detaliile cererii pentru a inspecta jurnalele serverului. |
| Răspunsul este 403 | Accesul la resursa solicitată a fost refuzat. | Verificați cauzele codului 403 și dovezile aferente de pe server. |
| Jurnalele indică o eroare de execuție a unui script | Aplicația sau scriptul este implicat în răspunsul eșuat. | Utilizați solicitarea afectată și ora din jurnal pentru a identifica calea scriptului. |
| Jurnalele indică un răspuns incorect al serverului | Serverul web a înregistrat o problemă de răspuns. | Comparați acea intrare cu starea și anteturile capturate de ambele teste. |
Când să contactați serviciul de asistență
Contactați serviciul de asistență furnizând URL-ul exact, codul de stare, ora solicitării, informațiile despre browser, curl ieșirea, durata răspunsului și liniile corespunzătoare din jurnal. Precizați dacă răspunsul a fost 403, un alt cod de stare 4xx sau un cod de stare 5xx. Astfel, echipa de asistență va dispune de un set de detalii relevante pentru a verifica împreună serverul web, calea cererii și informațiile despre aplicație.