Веб-әзірлеу әлемінде HTTP қате кодтары пайдаланушы тәжірибесіне және веб-сайттың беделіне әсер етуде маңызды рөл атқарады. Бұл мақалада біз сервер қате кодтарының толық тізімін қарастырамыз, олардың мағыналарын талдаймыз және мәселелерді шешу және веб-қолданбалардың өнімділігін оңтайландыру үшін сервердің жауап кодтарын қалай тиімді түсіндіру керектігін үйренеміз.
HTTP жауап коды дегеніміз не
HTTP жауап коды — браузер сұрауларын түсінікті нұсқауларға аударатын веб-серверлердің тілі. Ақынның виртуалды сұрақтарға жауап беріп, мән-мағына, бағыт-бағдар беруі сияқты. Жауап кодтары әрқашан HTTP қате кодтары бола бермейді. Мысалы, «200 OK» бәрі дұрыс дегенді білдіреді, бірақ HTTP қатесі «404 табылмады» бет виртуалды кеңістікте жоғалғанын білдіреді. Әрбір код сервер күйінің бірегей өрнегі болып табылады, оның декодталуы виртуалды әлемнің екінші жағында не болып жатқанын түсінуге мүмкіндік береді.
1xx кодтары (ақпарат)
HTTP протоколындағы 1xx күй кодтары сервер мен клиент арасындағы диалогтағы бірінші сілтеменің бір түрі болып табылады. Сұранысқа толық жауап берудің орнына олар ағымдағы күй туралы ақпарат береді, бұл деректер алмасуды тиімдірек етеді. Оларды толығырақ қарастырайық:
100 Жалғастыру . Сервер пайдаланушыға жасыл жарық беретін, оған үлкен сұранысты қауіпсіз жіберуді жалғастыруға мүмкіндік беретін HTTP жауап коды.
101 Хаттамаларды ауыстыру . Сервер клиентке ойын ережелерін өзгертіп жатқанын, мысалы, HTTP-ден қауіпсіз HTTPS-ке ауысып жатқанын хабарлайды. Бұл жағдайда хаттаманы өзгерту үшін «Жаңарту» тақырыбы қолданылады.
102 Өңдеу . Бұл код сервердің сұранысты қабылдағаны, бірақ әлі де күрделі операциямен айналысып жатқаны туралы хабарламаға ұқсайды.
103 Алғашқы кеңестер . Мұнда сервер негізгі жауаптан бұрын клиентке бірнеше индикативті тақырыптарды жібереді, бұл жақын арада маңызды болуы мүмкін нәрсе туралы ескертеді.
2xx коды (сәтті)
2xx тобындағы HTTP қате кодтары серверден сәтті сұрауды көрсетеді. Олар веб-коммуникациялар ауқымында «жасыл жарық» ретінде әрекет етеді, бұл бәрі жоспарға сәйкес жүріп жатқанын және сәтті аяқталғанын растайды.
200 Жарайды . Бұл күй сервер 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 Орындалмаған . Сервер клиенттің сұранысын өңдеу үшін қажетті функцияны қолдамайды. «Арқылы» тақырыбы қате орын алған прокси-серверді көрсетуі мүмкін.
502 Bad Gateway . Бұл код прокси ретінде әрекет ететін сервер басқа серверден дұрыс емес жауап алғанын білдіреді.
HTTP қатесі 503 қызметі қолжетімді емес . Сервер уақытша сұраныстарды өңдей алмайды.
504 Шлюздің күту уақыты . Прокси ретінде әрекет ететін сервер басқа серверден уақтылы жауап алмады.
505 HTTP нұсқасы қолдау көрсетілмейді . Сервер сұрауда көрсетілген HTTP хаттамасының нұсқасын қолдамайды. Сақтық көшірме опциясы ретінде «Жаңарту» тақырыбы қолдау көрсетілетін хаттамаларды көрсетуі мүмкін.
506 нұсқасы да келіссөздер жүргізеді . Бұл күй HTTP/1.1 протоколында пайдаланылмайды; дегенмен, егер сервер мазмұнды келіссөздер жүргізудің екіұштылығына әкелетін ішкі конфигурацияны анықтаса, ол осы жауапты пайдалануы мүмкін.
507 Сақтау орны жеткіліксіз . Серверде сақтау орны жеткіліксіз болғандықтан, сервер сұранысты орындай алмайды.
508 Цикл анықталды . Сервер сұранысты өңдеу кезінде циклды анықтады және шексіз циклды болдырмау үшін сұранысты орындаудан бас тартты.
509 Өткізу қабілетінің шегі асып кетті . Қате сұраныстардың немесе трафиктің көптігіне байланысты сервердің өткізу қабілеті асып кеткен кезде орын алады.
510 Ұзартылмаған . Клиент сұранысты жалғастыру үшін қосымша ұзартуларды аударуы керек.
511 Желіні аутентификациялау қажет . Клиент желіге кіру үшін өзін аутентификациялауы керек.
Бет күйінің кодын қалай тексеруге болады
Бұл бөлімде біз бет күйінің кодын тексерудің үш негізгі әдісін қарастырамыз: пәрмен жолы арқылы, веб-шолғышты пайдалану және тәуелсіз онлайн қызметтерді пайдалану. Бұл әдістердің әрқайсысының өзіндік артықшылықтары бар және әртүрлі жағдайларда пайдалы болуы мүмкін.
Пәрмен жолы арқылы сервер жауабын тексеру
Пәрмен жолы веб-шолғышты пайдаланбай-ақ бет күйінің кодын тексерудің ыңғайлы әдісін қамтамасыз етеді. Бұл әдіс үшін пәрмен жолын ашып, пәрменді пайдалану керек:
curl -I http://page-address
Бұл пәрмен HEAD сұрауын (тек тақырыптарды сұрау) көрсетілген URL мекенжайына жібереді және HTTP күй кодын қоса ақпаратты көрсетеді:
Жоғарыдағы мысал сәтті жауап кодын көрсетеді. 404 табылмады HTTP қатесі сияқты қате коды бар жауап болған жағдайда нәтиже ұқсас болады:
Браузер консолі арқылы сервер жауабын тексеру
Веб-шолғышты әзірлеуші консолі әртүрлі әрекеттерді орындауға арналған құралдарды, соның ішінде бет күйінің кодын тексеруді қамтамасыз етеді. Сервер жауабында HTTP кодын көру үшін пайдаланылатын браузерге байланысты әзірлеуші консолін (Ctrl+Shift+K) немесе (Ctrl+shift+J) ашу керек. Содан кейін «желі» бөлімін таңдап, қажетті бетті жүктеңіз:
Тәуелсіз құралдарды пайдаланып сервер жауабын тексеру
Веб-сайт бетінің күй кодын тексеруге арналған құралдарды ұсынатын көптеген тәуелсіз онлайн қызметтер бар. Бұл қызметтер әдетте сізге ресурсыңыздың қолжетімділігі мен өнімділігі туралы шолуды тез алуға мүмкіндік береді. Олардың барлығы бірдей принцип бойынша жұмыс істейді. Мысал ретінде біз ең танымал ресурсты - httpsstatus.io қарастырамыз.
Ең алдымен, сіз қызметтің өзін ашуыңыз керек, содан кейін білу үшін жауап беретін беттің мекенжайын енгізіп, тексеруді сұраңыз:
Нәтиже беттің төменгі жағында көрсетіледі:
қорытынды
Қорытындылай келе, HTTP қате кодтарын түсіну және оқи білу веб-әзірлеумен және серверге қызмет көрсетумен айналысатын кез келген адам үшін негізгі дағды екенін атап өткен жөн. Әрбір қатені анықтап, оларды анықтау құралдарын зерттей отырып, біз осы веб-қызмет аспектілерін тиімді басқарудың соншалықты маңызды себептерін көреміз.