Junior
HTTP holat kodlari haqida gapir.
sobes.tech AI
AIdan javob
HTTP статус кодлари — бу сервер томонидан мижознинг сўровига жавоб сифатида қайтарилган уч рақамли бутун сонлар. Улар сўровнинг натижасини кўрсатади ва беш турга бўлинади:
- 1xx Инфоматив: Сўров қабул қилинди ва ишлаш давом этмоқда.
100 Continue: Сервер сўровнинг бошланғич қисмини олди ва мижоз қолган қисмини юборишда давом эттириши мумкин.101 Switching Protocols: Сервер тушуниб, мижоз сўраган протоколлар ўзгартиришини амалга оширишга тайёр.
- 2xx Муваффақият: Сўров муваффақиятли ишлаб, тушунилиб ва қабул қилинди.
200 OK: HTTP сўровлари учун стандарт муваффақият жавоби.201 Created: Сўров бажарилди ва янги ресурс яратилди.204 No Content: Сервер сўровни муваффақиятли ишлаб, аммо жавобда матн йўқ.
- 3xx Йўналтириш: Сўровни тугатиш учун қўшимча ҳаракатлар керак.
301 Moved Permanently: Сўралган ресурс доимий янги URIга эга.302 Found: Сўралган ресурс вақтинча бошқа URIга кўчирилди.304 Not Modified: Манба сўнгги юборишдан бери ўзгармади.
- 4xx Мижоз хатолари: Сўровда синтаксик хатолик ёки бажариш мумкин эмас.
400 Bad Request: Сервер сўровни нотўғри синтакс билан тушунмади.401 Unauthorized: Манбага кириш учун аутентификация талаб қилинади.403 Forbidden: Сервер сўровни тушуниб, аммо рухсат бермайди.404 Not Found: Сервер сўралган манбани топа олмади.
- 5xx Сервер хатолари: Сервер тўғри тузилган сўровни тўғри бажара олмади.
500 Internal Server Error: Ишлаш давомида умумий сервер хатоси.502 Bad Gateway: Гейтвей ёки прокси сифатида ишлаётган сервер юқоридаги сервердан нотўғри жавоб олди.503 Service Unavailable: Сервер ҳозирда юкламани ёки хизмат кўрсатишни вақтинча тўхтатди.
Тестларда қўлланиш мисоллари:
- API тестлари: қайтарилган статус кодларининг кутилганларга мос келиши текширилади (масалан, муваффақиятли маълумот олиш учун
200 OK, мавжуд бўлмаган манбалар учун404 Not Found). - Веб-илова тестлари: қайта юборишлар (
3xxстатус кодлари), фойдаланувчи хатолари (4xxстатус кодлари), юкламда хизматлар ишлаётганлиги (503).
Pythonда requests билан статус кодини текшириш мисоли:
import requests
url = "https://www.example.com"
response = requests.get(url)
# Сўров муваффақиятли бўлди (статус коди 2xx)
if response.status_code == 200:
print("Сўров муваффақиятли бажарилди.")
else:
print(f"Хатолик юз берди. Статус коди: {response.status_code}")