Sobes.tech
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}")