Какой HTTP-код статуса возвращается при успешной передаче XHTML-страницы?

Ответ

При успешной передаче валидной XHTML-страницы сервер возвращает стандартный код состояния 200 OK.

Контекст и другие коды:

  • 200 OK: Запрос успешен, и тело ответа содержит запрошенный ресурс (XHTML-документ).
  • 404 Not Found: Сервер не может найти запрошенный ресурс (например, страница не существует).
  • 301 Moved Permanently / 302 Found: Страница перемещена (редирект).
  • 500 Internal Server Error: Общая ошибка сервера. Может возникнуть, если XHTML-документ не является валидным XML (одно из ключевых требований XHTML).

Пример проверки на Python с библиотекой requests:

import requests

# Запрос XHTML-страницы
response = requests.get('https://example.com/document.xhtml')

# Проверка успешного ответа
if response.status_code == 200:
    print("Страница успешно загружена.")
    # Можно проверить заголовок Content-Type
    print(f"Content-Type: {response.headers.get('Content-Type')}") # Ожидается 'application/xhtml+xml' или подобный
else:
    print(f"Ошибка! Код статуса: {response.status_code}")

Важно: Для XHTML корректный заголовок Content-Typeapplication/xhtml+xml или application/xml.

Ответ 18+ 🔞

Давай разжую эту сухую техническую справку, как будто я тебе её в баре на салфетке рисую, пока мы пиво пьём.

Смотри, вот у тебя есть сервер, да? Ты к нему стучишься: «Эй, мудила, дай-ка мне вот эту XHTML-страничку!». И если у него всё в порядке, он не сломался и страница существует, он тебе такой, с поклоном: «На, братан, держи, всё чётко». И в паспорте этого ответа будет стоять штамп 200 OK. Это как зелёный свет на светофоре — можно ехать, всё пиздато.

Но жизнь, она же не сахар, блядь. Бывает иначе:

  • 404 Not Found — это когда сервер такой: «Бля, чувак, я перерыл все свои шкафы, эту страницу, про которую ты говоришь, я нихуя не нашёл. Может, ты её выдумал?». Классика, все её знают.
  • 301 или 302 — это он тебе говорит: «О, слушай, страница-то есть, но она теперь живёт по другому адресу. Вот, держи пропуск, иди туда». Редирект, короче.
  • 500 Internal Server Error — а вот это уже пиздец. Сервер сам себя обосрал. Особенно часто бывает с XHTML, потому что эта штука должна быть идеальным, валидным XML. Одна забытая закрывающая скобка — и сервер, вместо того чтобы отдать страницу, начинает икать, рыгать и возвращает эту самую пятисотую ошибку. «Я, — говорит, — нихуя не могу, у меня внутри всё упало».

Ну а теперь, как это всё на практике проверить, чтобы не гадать на кофейной гуще? На Python'е, с библиотекой requests, это делается проще простого.

import requests

# Тыкаешь пальцем в адрес
response = requests.get('https://example.com/document.xhtml')

# Смотришь, что тебе в паспорте написали
if response.status_code == 200:
    print("Страница успешно загружена.")
    # А ещё можно прищуриться и глянуть на маркировку
    print(f"Content-Type: {response.headers.get('Content-Type')}") # Ожидается 'application/xhtml+xml' или подобный
else:
    print(f"Ошибка! Код статуса: {response.status_code}")

И вот тут внимание, ебать мои старые костыли, важный нюанс! Для настоящего, чистокровного XHTML, в графе «Content-Type» должно быть написано application/xhtml+xml или на худой конец application/xml. Если там text/html — это уже не совсем то, это как суррогат, брак. Сервер может тебе HTML отдать под видом XHTML, но это уже нечестная игра. Так что всегда гляди в корень, то есть в заголовки!