Вэб хөгжүүлэлтийн ертөнцөд HTTP алдааны кодууд нь хэрэглэгчийн туршлага, вэбсайтын нэр хүндэд нөлөөлөх чухал үүрэг гүйцэтгэдэг. Энэ нийтлэлд бид серверийн алдааны кодын бүрэн жагсаалтыг авч үзэх, тэдгээрийн утгыг шинжлэх, асуудлыг шийдвэрлэх, вэб програмын гүйцэтгэлийг оновчтой болгохын тулд серверийн хариу кодыг хэрхэн үр дүнтэй тайлбарлах талаар сурах болно.
HTTP хариу код гэж юу вэ
HTTP хариу код нь вэб серверийн хэл бөгөөд хөтчийн хүсэлтийг ойлгомжтой заавар болгон хөрвүүлдэг. Энэ нь яруу найрагч виртуал асуултуудад хариулж, тэдэнд утга учир, чиглэл өгөхтэй адил юм. Хариултын код нь үргэлж HTTP алдааны код биш юм. Жишээлбэл, "200 OK" нь бүх зүйл хэвийн гэсэн үг, харин HTTP алдаа "404 олдсонгүй" нь хуудас виртуал орон зайд алга болсон гэсэн үг юм. Код бүр нь серверийн төлөв байдлын өвөрмөц илэрхийлэл бөгөөд кодыг тайлах нь виртуал ертөнцийн нөгөө талд юу болж байгааг ойлгох боломжийг олгодог.
1xx кодууд (Мэдээлэл)
HTTP протокол дахь 1xx төлөвийн кодууд нь сервер ба үйлчлүүлэгчийн хоорондох харилцан ярианы анхны холбоос юм. Тэд хүсэлтэд бүрэн хариу өгөхийн оронд одоогийн байдлын талаар мэдээлэл өгч, мэдээлэл солилцох ажлыг илүү үр дүнтэй болгодог. Тэднийг илүү нарийвчлан авч үзье:
100 Үргэлжлүүлэх . Сервер нь хэрэглэгчдэд ногоон гэрэл өгч, түүнд том хүсэлтийг аюулгүйгээр үргэлжлүүлэн илгээх боломжийг олгодог HTTP хариу код.
101 Протоколуудыг солих . Сервер нь үйлчлүүлэгчид тоглоомын дүрмийг өөрчилж байгаагаа, жишээлбэл, HTTP-ээс илүү аюулгүй HTTPS руу шилжиж байгаагаа мэдэгддэг. Энэ тохиолдолд протоколыг өөрчлөхөд "Шинэчлэх" толгой хэсгийг ашигладаг.
102 Боловсруулж байна . Энэ код нь сервер хүсэлтийг хүлээн авсан боловч нарийн төвөгтэй ажиллагаатай завгүй хэвээр байгаа гэсэн мессежтэй адил юм.
103 Эртний зөвлөгөө . Энд сервер нь гол хариултаас өмнө үйлчлүүлэгч рүү хэд хэдэн заагч толгой хэсгийг илгээж, ойрын ирээдүйд хамааралтай байж болзошгүй зүйлийн талаар анхааруулдаг.
2xx код (Амжилттай)
2xx бүлгийн HTTP алдааны кодууд нь серверээс амжилттай хүсэлт ирснийг харуулж байна. Эдгээр нь үндсэндээ вэб харилцааны хүрээнд "ногоон гэрэл" болж, бүх зүйл төлөвлөгөөний дагуу явагдаж, амжилттай дууссаныг баталж байна.
200 OK . Энэ төлөвийг сервер GET аргаар хүсэлтийг асуудалгүйгээр боловсруулж, хүссэн өгөгдлийг хариуд нь буцаах үед ашигладаг. "Content-Type" толгой хэсэг нь хариулт дахь контентын төрлийг мэдээлдэг. Энэ нь зөвхөн хүсэлт амжилттай болсон тухай үйлчлүүлэгчид мэдээлдэг.
201 Үүсгэсэн . Энд сервер шинэ нөөц үүсгэснийг зарлаж байна.
202 Хүлээн авсан . Сервер нь хэрэглэгчдэд хүсэлтийг хүлээн авсан гэдгийг мэдэгдэх боловч хариу өгөхөд цаг хугацаа шаардагдана.
203 Баталгаажаагүй мэдээлэл . Энэ код нь үйлчлүүлэгчид албан ёсны биш байж болох ч харьцуулалт хийхэд ашиглаж болох өгөгдлийг өгдөг.
204 Агуулга байхгүй . Сервер хүсэлтийг боловсруулсан боловч нэмэлт контент буцаахгүй байна.
205 Агуулгыг дахин тохируулах . Энд үйлчлүүлэгч илгээсний дараа одоогийн харагдац эсвэл өгөгдлийг дахин тохируулахыг зааварчилдаг.
206 Хэсэгчилсэн агуулга . Энэ тохиолдол нь хариулт нь хүссэн агуулгын зөвхөн хэсгийг агуулж байгааг харуулж байна. "Агуулгын хүрээ" толгой хэсэг нь хэсэгчилсэн агуулгын хүрээг заана.
207 Олон төлөвтэй. Сервер нь үйлчлүүлэгчээс ирсэн олон үйлдэлт хүсэлтийг амжилттай биелүүлсэн бөгөөд хариуд нь үйлдлүүд бүрийн төлөвийн талаарх мэдээллийг агуулна.
226 IM ашигласан . Энэ код нь сервер нь Нэмэлт Мета Өгөгдөл (IM) аргыг ашиглаж, зөвхөн өөрчлөгдсөн нөөцийн хэсгүүдийг үйлчлүүлэгч рүү дамжуулснаар хариу үйлдэл үзүүлсэн болохыг харуулж байна.
3xx кодууд (Дахин чиглүүлэх)
HTTP протокол дахь 3xx кодууд нь хэрэглэгчийг шинэ нөөцийн байршил руу чиглүүлдэг заагчтай адил юм. Тэд хүссэн агуулгыг олж авах эсвэл өөр эх сурвалж руу шилжүүлэхийн тулд дараагийн алхмуудыг хийх шаардлагатайг үйлчлүүлэгчид мэдэгддэг. Тэд тус бүрийн дэлгэрэнгүй мэдээллийг авч үзье:
300 Олон сонголт . Үйлчлүүлэгч нөөцийн хэд хэдэн боломжит байршил байгаа гэсэн дохиог хүлээн авч, хариуд нь сонголт өгдөг. Одоогийн нөхцөлд "Байршил" толгой хэсэг нь нөөцийн өөр хувилбаруудыг зааж өгч болно.
301 Бүрмөсөн зөөгдсөн. Сервер нь нөөцийг өөр байршил руу бүрмөсөн зөөсөн тухай хэрэглэгчид мэдээлдэг.
302 олдсон . Энэ HTTP код нь түр зуурын дахин чиглүүлэлттэй төстэй. Сервер нь хэрэглэгчдэд нөөц өөр URL дээр түр хугацаанд боломжтой байгааг мэдэгдэж байна. "Байршил" толгой хэсэг нь түр зуурын дахин чиглүүлэлтийн шинэ URL руу заана.
303 Бусад хэсгийг үзнэ үү . Үйлчлүүлэгчид нөөц өөр URL дээр байгаа бөгөөд энэ шинэ хаяг руу GET хүсэлт гаргах ёстой гэж мэдэгддэг.
304 Өөрчлөгдөөгүй . Энэ төлөв нь үйлчлүүлэгчид нөөц нь сүүлийн хүсэлтээс хойш өөрчлөгдөөгүй хэвээр байгаа бөгөөд дахин татаж авах шаардлагагүй гэдгийг хэлж байна. Хүсэлт гаргахдаа нөөц өөрчлөгдсөн эсэхийг шалгахын тулд "If-Modified-Since" толгой хэсгийг ашигладаг.
305 Прокси ашиглах. Хариуд нь сервер хүссэн нөөцөд хандахын тулд заасан проксиг ашиглах ёстой гэж мэдээлдэг.
306 (нөөцлөгдсөн) — Код нь нөөцлөгдсөн боловч үнэндээ ашиглагдаагүй байна.
307 Түр зуурын чиглүүлэлт . Энэ код нь 302 Found-тэй төстэй боловч үйлчлүүлэгч анхны хүсэлтэд ашигласан хүсэлтийн аргаар үлдэхийг шаарддаг.
308 Байнгын чиглүүлэлт . Нөөц нь шинэ URI руу байнга шилжсэн бөгөөд үйлчлүүлэгч ирээдүйн бүх хүсэлтэд шинэ URI ашиглах ёстойг заана.
4xx HTTP алдаа (Үйлчлүүлэгчийн алдаа)
HTTP 4xx алдааны код нь үйлчлүүлэгчийн алдааг илтгэнэ. Энэ нь вэб хөтөч эсвэл програм гэх мэт асуудал хэрэглэгчийн талд байна гэсэн үг юм.
400 Буруу хүсэлт . Сервер нь синтаксийн алдаа, буруу өгөгдөл эсвэл үйлчлүүлэгчийн талын бусад алдаанаас болж хүсэлтийг боловсруулж чадахгүй.
401 Зөвшөөрөлгүй. Сервер нь синтаксийн алдаа, буруу өгөгдөл эсвэл үйлчлүүлэгчийн талын бусад алдаанаас болж хүсэлтийг боловсруулж чадахгүй.
402 Төлбөр шаардлагатай . Код одоогоор идэвхгүй байгаа бөгөөд цаашид ашиглахаар хадгалагдсан. Энэ нь ирээдүйд нөөцөд хандахаасаа өмнө төлбөр төлөх шаардлагатайг илтгэж магадгүй юм.
HTTP алдаа 403 Хориотой. Үйлчлүүлэгч хүссэн нөөцөд хандах хангалттай эрхгүй байна.
404 олдсонгүй. Хүссэн нөөц сервер дээр байхгүй байна. Энэ бол хэрэглэгчийн хамгийн түгээмэл алдаануудын нэг юм.
405 Арга Зөвшөөрөгдөөгүй . Сервер нь энэ нөөцийн үед заасан хүсэлтийн аргыг дэмждэггүй. “Зөвшөөрөх” толгой хэсэг нь нөөцийн зөвшөөрөгдсөн аргуудыг заана. Энэ кодтой бол,
406 Хүлээн авах боломжгүй. Сервер нь үйлчлүүлэгчийн хүлээн авах боломжтой форматаар өгөгдөл өгөх боломжгүй.
407 Прокси баталгаажуулалт шаардлагатай . Хүссэн нөөцөд хандахын тулд прокси сервер дээрх баталгаажуулалт шаардлагатай.
408 Хүсэлтийн хугацаа дууслаа . Сервер үйлчлүүлэгчээс хүсэлт хүлээн авахыг хүлээж байсан боловч хугацаа нь дууссан байна. "Дахин оролдох-Афтер" толгой хэсэг нь хүсэлтийг дахин оролдож болох хугацааг зааж өгч болно.
409 Зөрчил. Одоогийн нөөцийн төлөвтэй зөрчилдсөний улмаас хүсэлтийг биелүүлэх боломжгүй байна.
410 Алдагдсан . Хүссэн нөөц өмнө нь байсан боловч одоо устгагдсан бөгөөд сэргээгдэх төлөвгүй байна.
411 Шаардлагатай урт . Сервер хүсэлтэд агуулгын уртыг зааж өгөхийг шаардаж байна; энэ мэдээлэл байхгүй бол алдаа гэж үзнэ.
412 Урьдчилсан нөхцөл амжилтгүй боллоо . Хүсэлтийн урьдчилсан нөхцөл хангагдаагүй тул гүйцэтгэхээс сэргийлдэг.
413 Ачаалал хэт том байна . Хүсэлтийн өгөгдлийн хэмжээ серверийн хязгаараас хэтэрсэн байна.
414 URI хэт урт байна . Хүсэлтийн URI урт нь зөвшөөрөгдөх хязгаараас хэтэрсэн байна.
415 Дэмжигдээгүй медиа төрөл . Сервер нь хүсэлтэд өгөгдсөн өгөгдлийн төрлийг боловсруулж чадахгүй.
416 Хүрээ хангалтгүй байна . Хүссэн хүрээ нь одоогийн серверийн өгөгдөлтэй таарахгүй байгаа HTTP алдаа.
417 Хүлээлт бүтэлгүйтэв . "Хүлээлт" толгой хэсэгт хүлээгдэж буй нөхцөл хангагдаагүй.
418 Би бол цайны данх . Энэ кодыг тоглоом шоглоом болгон оруулсан бөгөөд хэрэглэгч эсвэл серверт ямар нэгэн бодит үйлдэл хийхийг илэрхийлээгүй бөгөөд бүрэн хэмжээний алдаа биш юм. Энэ нь сервер нь цайны данх бөгөөд кофе чанах чадваргүй болохыг илтгэнэ.
421 Буруу чиглүүлэгдсэн хүсэлт . Хүсэлт эсвэл серверийн тохиргоонд гарсан алдаанаас болж сервер хүсэлтийг боловсруулдаггүй.
422 Боловсруулах боломжгүй объект . Сервер нь хүсэлтийг ойлгож байгаа боловч өгөгдлийн алдаанаас болж боловсруулдаггүй.
423 Түгжээтэй. Нөөцийг хаасан бөгөөд боловсруулах боломжгүй байна.
424 Амжилтгүй хамаарал . Хүсэлт нь гүйцэтгэгдээгүй өөр нэг хүсэлтээс хамаарна.
425 Хэтэрхий эрт байна. Хүсэлт эрт ирсэн тул сервер боловсруулахад бэлэн биш байна.
426 Шинэчлэлт шаардлагатай . Сервер нь хүсэлтийг боловсруулахын тулд илүү дэвшилтэт протокол ашиглахыг шаарддаг.
428 Урьдчилсан нөхцөл шаардлагатай . Сервер нь хүсэлтэд тодорхой урьдчилсан нөхцөлүүдийг зааж өгөхийг шаарддаг.
429 Хэт олон хүсэлт . Үйлчлүүлэгч богино хугацаанд хэт олон хүсэлт илгээсэн нь серверийн хязгаараас давсан байна.
431 Хүсэлтийн толгойн талбарууд хэт том байна . Хүсэлтийн толгойн хэмжээ зөвшөөрөгдсөн дээд хэмжээнээс хэтэрсэн байна.
449 Дахин оролдох. Хүсэлтийг одоогийн сервер ажиллуулж чадахгүй боловч өөр сервер амжилттай боловсруулж болохыг зааж байгаа бөгөөд үйлчлүүлэгч хүсэлтийг шинэ URI ашиглан дахин оролдох ёстой.
451 Хууль эрх зүйн шалтгаанаар боломжгүй байна . Хууль эрх зүйн шалтгаанаар нөөц боломжгүй байна.
499 Үйлчлүүлэгчийн хүсэлтийг хаасан . Сервер хүсэлтийг хүлээн авсан боловч боловсруулалт дуусахаас өмнө үйлчлүүлэгч холболтыг хаасан.
HTTP 5xx алдаа (Серверийн алдаа)
HTTP 5xx алдааны кодууд нь серверийн асуудлыг илтгэнэ. Эдгээр кодууд нь серверийн тал дээр гарсан асуудлуудыг илтгэж, сервер нь хэрэглэгчийн хүсэлтийг зөв аргаар боловсруулах боломжгүй болгодог. Тэднийг илүү нарийвчлан авч үзье:
HTTP алдаа 500 Дотоод серверийн алдаа . Сервер нь хүсэлтийг биелүүлэхэд саад учруулсан гэнэтийн нөхцөл байдалтай тулгардаг. "Сервер" толгой хэсэг нь алдаа гарсан серверийг зааж болно.
501 Хэрэгжүүлээгүй . Сервер нь үйлчлүүлэгчийн хүсэлтийг боловсруулахад шаардлагатай функцийг дэмждэггүй. "Via" толгой хэсэг нь алдаа гарсан прокси серверийг зааж өгч магадгүй.
502 Муу гарц . Энэ код нь прокси болж ажилладаг сервер өөр серверээс буруу хариу хүлээн авсан гэсэн үг юм.
HTTP алдаа 503 Үйлчилгээ боломжгүй байна . Сервер түр хугацаанд хүсэлтийг боловсруулах боломжгүй байна.
504 Gateway Timeout . Проксигийн үүрэг гүйцэтгэдэг сервер өөр серверээс цаг тухайд нь хариу хүлээн аваагүй.
505 HTTP хувилбар дэмжигдэхгүй байна . Сервер нь хүсэлтэд заасан HTTP протоколын хувилбарыг дэмждэггүй. Нөөц сонголт болгон "Шинэчлэх" толгой хэсэг нь дэмжигдсэн протоколуудыг зааж өгч магадгүй.
506 Хувилбар Мөн тохиролцоо хийдэг . Энэ төлөвийг HTTP/1.1-д ашигладаггүй; гэхдээ хэрэв сервер контент тохиролцооны тодорхойгүй байдалд хүргэдэг дотоод тохиргоог илрүүлбэл энэ хариултыг ашиглаж магадгүй.
507 Хадгалах сан хангалтгүй байна . Сервер дээрх хадгалах сангийн зай хангалтгүй байгаа тул сервер хүсэлтийг биелүүлж чадахгүй байна.
508 давталт илэрлээ . Сервер хүсэлтийг боловсруулах явцад давталт илрүүлсэн бөгөөд хязгааргүй давталтаас зайлсхийхийн тулд хүсэлтийг биелүүлэхээс татгалзсан.
509 Зурвасын өргөний хязгаар хэтэрсэн . Хүсэлтийн хэмжээ эсвэл урсгал их байгаагаас шалтгаалан серверийн зурвасын өргөн хэтэрсэн үед алдаа гардаг.
510 Сунгаагүй . Үйлчлүүлэгч хүсэлтийг үргэлжлүүлэхийн тулд нэмэлт сунгалтуудыг шилжүүлэх ёстой.
511 Сүлжээний баталгаажуулалт шаардлагатай . Үйлчлүүлэгч сүлжээнд нэвтрэхийн тулд өөрийгөө баталгаажуулах ёстой.
Хуудасны статусын кодыг хэрхэн шалгах вэ
Энэ хэсэгт бид хуудасны төлөвийн кодыг шалгах гурван үндсэн аргыг авч үзэх болно: командын мөр, вэб хөтөч ашиглах, бие даасан онлайн үйлчилгээг ашиглах. Эдгээр аргууд тус бүр өөрийн гэсэн давуу талтай бөгөөд өөр өөр нөхцөл байдалд ашигтай байж болно.
Серверийн хариуг тушаалын мөрөөр шалгаж байна
Тушаалын мөр нь вэб хөтөч ашиглахгүйгээр хуудасны төлөвийн кодыг шалгах тохиромжтой аргыг өгдөг. Энэ аргын хувьд та тушаалын мөрийг нээж дараах тушаалыг ашиглах хэрэгтэй.
curl -I http://page-address
Энэ тушаал нь заасан URL руу HEAD хүсэлтийг (зөвхөн толгойн хүсэлт) илгээж, HTTP төлөвийн кодыг агуулсан мэдээллийг харуулна:
Дээрх жишээ нь амжилттай хариултын кодыг харуулж байна. 404 Not Found HTTP алдаа гэх мэт алдааны код агуулсан хариу гарсан тохиолдолд үр дүн нь ижил төстэй харагдах болно:
Хөтөчийн консолоор дамжуулан серверийн хариуг шалгаж байна
Вэб хөтөч хөгжүүлэгчийн консол нь хуудасны төлөвийн кодыг шалгах зэрэг янз бүрийн үйлдлүүдийг хийх хэрэгслүүдээр хангадаг. Серверийн хариултаас HTTP кодыг харахын тулд ашигласан хөтчөөс хамааран хөгжүүлэгчийн консол (Ctrl+Shift+K) эсвэл (Ctrl+shift+J) нээх шаардлагатай. Дараа нь "сүлжээ" хэсгийг сонгоод хүссэн хуудсыг ачаална уу:
Бие даасан хэрэгслийг ашиглан серверийн хариуг шалгаж байна
Вэбсайтын хуудасны төлөвийн кодыг шалгах хэрэгслүүдээр хангадаг олон тооны бие даасан онлайн үйлчилгээ байдаг. Эдгээр үйлчилгээ нь ихэвчлэн танд нөөцийнхөө бэлэн байдал болон гүйцэтгэлийн талаарх тоймыг хурдан авах боломжийг олгодог. Тэд бүгд ижил зарчмаар ажилладаг. Жишээлбэл, бид хамгийн алдартай нөөц болох httpsstatus.io- г авч үзэх болно.
Юуны өмнө та үйлчилгээг өөрөө нээж, дараа нь олж мэдэх шаардлагатай хуудасны хаягийг оруулаад баталгаажуулах хүсэлт гаргах хэрэгтэй.
Үр дүн нь хуудасны доод хэсэгт харагдах болно:
Дүгнэлт
Эцэст нь хэлэхэд, HTTP алдааны кодыг ойлгож, уншиж чаддаг байх нь вэб хөгжүүлэлт, серверийн засвар үйлчилгээтэй холбоотой хэн бүхэнд чухал ур чадвар гэдгийг онцлон тэмдэглэх нь зүйтэй. Бид алдаа бүрийг тодорхойлж, тэдгээрийг илрүүлэх арга хэрэгслийг судлахдаа эдгээр вэб үйлчилгээний талыг үр дүнтэй удирдах нь яагаад маш чухал болохыг олж хардаг.