Вэб хөгжүүлэлтийн ертөнцөд HTTP алдааны кодууд нь хэрэглэгчийн туршлага, вэбсайтын нэр хүндэд нөлөөлөх чухал үүрэг гүйцэтгэдэг. Энэ нийтлэлд бид серверийн алдааны кодын бүрэн жагсаалтыг авч үзэх, тэдгээрийн утгыг шинжлэх, асуудлыг шийдвэрлэх, вэб програмын гүйцэтгэлийг оновчтой болгохын тулд серверийн хариу кодыг хэрхэн үр дүнтэй тайлбарлах талаар сурах болно.
HTTP хариу код гэж юу вэ
HTTP хариу код нь вэб серверийн хэл бөгөөд хөтчийн хүсэлтийг ойлгомжтой заавар болгон хөрвүүлдэг. Энэ нь яруу найрагч виртуал асуултуудад хариулж, тэдэнд утга учир, чиглэл өгөхтэй адил юм. Хариултын код нь үргэлж HTTP алдааны код биш юм. Жишээлбэл, "200 OK" нь бүх зүйл хэвийн гэсэн үг, харин HTTP алдаа "404 олдсонгүй" нь хуудас виртуал орон зайд алга болсон гэсэн үг юм. Код бүр нь серверийн төлөв байдлын өвөрмөц илэрхийлэл бөгөөд кодыг тайлах нь виртуал ертөнцийн нөгөө талд юу болж байгааг ойлгох боломжийг олгодог.
1xx кодууд (Мэдээлэл)
HTTP протокол дахь 1xx төлөвийн кодууд нь сервер ба үйлчлүүлэгчийн хоорондох харилцан ярианы анхны холбоос юм. Тэд хүсэлтэд бүрэн хариу өгөхийн оронд одоогийн байдлын талаар мэдээлэл өгч, мэдээлэл солилцох ажлыг илүү үр дүнтэй болгодог. Тэднийг илүү нарийвчлан авч үзье:
100 Үргэлжлүүлэх. HTTP хариу код нь сервер нь хэрэглэгчдэд ногоон гэрэл асааж, том хэмжээний хүсэлтийг үргэлжлүүлэн илгээх боломжийг олгодог.
101 Солих протоколууд. Сервер нь үйлчлүүлэгчдээ тоглоомын дүрмийг өөрчилж, жишээлбэл, HTTP-ээс илүү найдвартай HTTPS руу шилжиж байгаагаа хэлдэг. Энэ тохиолдолд "Upgrade" гарчиг нь протоколыг өөрчлөхөд ашиглагддаг.
102 Боловсруулах. Энэ код нь сервер хүсэлтийг хүлээн авсан боловч нарийн төвөгтэй ажиллагаатай завгүй хэвээр байгаа гэсэн мессежтэй адил юм.
103 Анхны зөвлөгөө. Энд сервер нь үндсэн хариултаас өмнө үйлчлүүлэгч рүү хэд хэдэн заагч толгойг илгээж, ойрын ирээдүйд хамааралтай байж болох зүйлийн талаар анхааруулдаг.
2xx код (Амжилттай)
2xx бүлгийн HTTP алдааны кодууд нь серверээс амжилттай хүсэлт ирснийг харуулж байна. Эдгээр нь үндсэндээ вэб харилцааны хүрээнд "ногоон гэрэл" болж, бүх зүйл төлөвлөгөөний дагуу явагдаж, амжилттай дууссаныг баталж байна.
200 OK. Энэ статус нь сервер нь GET аргаар хүсэлтийг асуудалгүйгээр боловсруулж, хариуд нь хүссэн өгөгдлийг буцааж өгөх үед ашиглагддаг. "Агуулгын төрөл" гарчиг нь хариултын агуулгын төрлийг мэдээлдэг. Энэ нь зүгээр л хүсэлт амжилттай болсон тухай үйлчлүүлэгчид мэдэгддэг.
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 Gone. Хүссэн нөөц нь өмнө нь байсан боловч одоо устгагдсан бөгөөд түүнийг сэргээх төлөвтэй байна.
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 гарцын завсарлага. Прокси үүрэг гүйцэтгэдэг сервер өөр серверээс цаг тухайд нь хариу ирээгүй.
505 HTTP хувилбар дэмжигдэхгүй байна. Сервер нь хүсэлтэд заасан HTTP протоколын хувилбарыг дэмждэггүй. Нөөц хувилбарын хувьд "Upgrade" толгой хэсэгт дэмжигдсэн протоколуудыг зааж өгч болно.
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 алдааны кодыг ойлгож, уншиж чаддаг байх нь вэб хөгжүүлэлт, серверийн засвар үйлчилгээтэй холбоотой хэн бүхэнд чухал ур чадвар гэдгийг онцлон тэмдэглэх нь зүйтэй. Бид алдаа бүрийг тодорхойлж, тэдгээрийг илрүүлэх арга хэрэгслийг судлахдаа эдгээр вэб үйлчилгээний талыг үр дүнтэй удирдах нь яагаад маш чухал болохыг олж хардаг.