Помощник
|
HTTP-код 503 |
ShowPrint
|
Сообщение
#1
|
||
|
|
||
|
|||
WGN |
17.7.2018, 7:56;
Ответить: WGN
Сообщение
#2
|
|
Если да, то узнать конкретный можно только у Платона? Или запрашивая и анализируя логи у хостинга тоже можно? (вирт, Бегет) Навряд ли вам платоны ответят, в лучшем случае дадут размытый ответ, а в худшем стандартную отписку по шаблону: Улучшайте сайт и т.п. А так конечно лучше спросить у хостера
-------------------- |
|
|
fedornabilkin |
17.7.2018, 11:06;
Ответить: fedornabilkin
Сообщение
#3
|
|
опустить ниже, к доктайпу? Я бы сделал отдельный класс для работы с заголовками, чтобы управление ими вынести в один файл. В итоге надо будет собрать необходимые заголовки, а потом их отправить. При этом уже в классе можно проверить факт отправки заголовков и осуществить выход (exit() :), если встретится заголовок Location:
Также, некоторые заголовки (content-type и charset), которые актуальны для каждой страницы можно указать в самом классе или (удобней и практичней) в конфигурации приложения. |
|
|
ShowPrint
|
Сообщение
#4
|
|
fedornabilkin, у меня другое основное занятие, а сайтостроительство - хобби и на досуге. Соответственно работу с классами пока не осваивал, планировал на пенсии, правда с нынешней ситуацией появились сомнения что есть шанс дожить B)
Основной (первый) вопрос был попыткой выяснить - может ли отправленный заголовок "контент-тайп" помешать боты увидеть 503-й ответ... Задумался об этом исходя из логической цепочки: бот получает 503-й ответ, но до этого он уже получил контент-тайп страницы, то есть сначала страница как бы ответила, а потом говорит о временной недоступности. Или наоборот: страница говорит о временной недоступности, но до этого был получен внятный заголовок. Не может ли это создавать конфликтную ситуацию в мозгах бота, то есть не следует ли блок отдачи 503-го ответа ставить обязательно первым, до вывода каких-либо других заголовков. |
|
|
miketomlin |
17.7.2018, 12:30;
Ответить: miketomlin
Сообщение
#5
|
|
ShowPrint, там fedornabilkin не ко мне обращался, а меня упоминал. У меня бздынькнуло, я полез на форум и ничего.
Так N/A – это и есть результат 503-ей. Сам переобойдет, чтобы ты не тратил на это время. Хотя ручной тычок конечно может иметь смысл. Если это всё-таки БД, то не стоит ли header Content-Type опустить ниже, к доктайпу? Вообще-то пых Content-Type для страниц сам формирует. Этот заголовок нужно использовать, если ты хочешь переопределить тип, например выдать plain-текст вместо страницы.Правильно понимаю что под N/A может скрываться какой-то конкретный код ответа сервера (например 408, 410 и т.д.)? См. выше. Вот не надо всяких 410-ых. Это не «временные» варианты. 404-ой достаточно, вдруг страница «возродится из пепла».3. Правильно я понимаю что при использовании вирт. хостинга 503-й код вернуть боту я могу только отправляя header, то есть если вдруг случился такой-то трабл при попытке чтения индексного файла, то я бессилен (если принудительно не объявлено о закрытии сайта на время работ через хтаццесс)? Если до твоего кода даже не доходит дело, сервер сам пытается выдавать адекватные статусы. Не парься по этому поводу.P.S. Несмотря на использование одной и той же ф-ции, Content-Type и HTTP/1.1 503 – это разные вещи, так что все будет расставлено по своим местам, не волнуйся. Но с другой стороны конечно логичнее начинать с HTTP/1.1 503. P.P.S. Мы повсеместно перешли на использование http_response_code (а для Location статус задается параметром ф-ции header), так что стало меньше путаницы. В требованиях по совместимости – php 5.4+ -------------------- |
|
|
miketomlin |
17.7.2018, 12:47;
Ответить: miketomlin
Сообщение
#6
|
|
Проблемы могут быть не только с коннектом к серверу БД, но и по сути с любым запросом, так что лучше во что-то обернуть показанные заголовки. Посмотри к примеру основной фрагмент кода тут – там больше 503-их, чем 404-ых. Если напрягают вложенные ветвления, их можно разворачивать.
-------------------- |
|
|
WGN |
17.7.2018, 12:52;
Ответить: WGN
Сообщение
#7
|
|
то есть сначала страница как бы ответила, а потом говорит о временной недоступности Скорее так будет правильно
-------------------- |
|
|
ShowPrint
|
Сообщение
#8
|
|
miketomlin, меня напрягло несколько моментов в комплексе:
конечно логичнее начинать с HTTP/1.1 503 Поправлю, решил что вреда - точно не будет :unsure: перешли на использование http_response_code Правильно ли я понимаю этот вариант:
Посмотри к примеру основной фрагмент кода тут – там больше 503-их, чем 404-ых Посмотрел. Насколько понял анализу подвергается каждый запрос к БД, что вполне логично, т.к. сбой может произойти и в конкретном запросе, а не при недоступности БД в целом. Я правильно понимаю что error() только лишь собирает ошибки, и используется собственно для анализа корректности загрузки, а отдавать код ботам при этом всё равно нужно отдельно? Сообщение отредактировал ShowPrint - 17.7.2018, 13:48 |
|
|
miketomlin |
17.7.2018, 15:06;
Ответить: miketomlin
Сообщение
#9
|
|
Под N/A яша подразумевает, что у него еще руки не дошли до этой страницы (адреса). Видимо, получая 503-юю, он выставляет свой статус N/A, чтобы заняться уточнением действительного статуса этой страницы в будущем. И это вполне логично. 503-ие просто так не возникают. Деградация может продолжаться. Естественно, там не одна попытка делается достучаться до страницы при получении 503-ей, чтобы не делать совсем уж поспешных выводов.
Правильно ли я понимаю этот вариант Да. Содержимое конечно я привык видеть более типичное, но по заголовкам вполне норм.Я правильно понимаю что error() только лишь собирает ошибки, и используется собственно для анализа корректности загрузки, а отдавать код ботам при этом всё равно нужно отдельно? Это абстрактная функция. Ее действие (содержимое) можно менять. Что она делает дефолтом в конкретной предполагаемой реализации, я написал там ниже в одном из комментов. Реализация простейшая. По дефолту статус выводится прямо в ф-ции, только вывод контента откладывается.P.S. Еще проверь, может, при установке 503-го статуса заголовок Retry-After будет автоматом формироваться и выставляемое в нем значение тебя будет устраивать. -------------------- |
|
|
miketomlin |
17.7.2018, 15:24;
Ответить: miketomlin
Сообщение
#10
|
|
P.P.S. Реализация действительно простейшая. Там «в коробке» всего две абстрактных ф-ции. Вторая – это как раз функция подключения к БД. Правда, сейчас хотят ввести еще одну ф-цию и походу с предопределенным функционалом.
-------------------- |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Proxylist4you.com: 5M+ приватных резидентных http\s\socks4\5 прокси с ротацией ✔️➡️⭐⭐⭐⭐Статичные прокси ✅ Серверные прокси⚡ | 0 | proxylist4you | 810 | 14.9.2022, 14:35 автор: proxylist4you |
|
Proxylist4you.com - 2.000.000 уникальных IP в месяц. Приватные прокси http\https\socks4\socks5. GEO пулы Чистые и быстрые прокси. Residential Backconnect Rotating Proxies |
40 | proxylist4you | 30063 | 8.11.2021, 14:34 автор: proxylist4you |
|
Proxy-Seller.ru - Персональные Прокси IPv4 от 40р. IPv6 от 5р. (socks/http) Прокси в одни руки |
79 | VTatarskiy | 39432 | 18.1.2021, 18:09 автор: Scotty |
|
Почистить код на сайте | 1 | Timka | 1108 | 2.1.2021, 1:13 автор: 0pium |
|
Вы мне код, я вам как - делать не надо. | 0 | fedornabilkin | 960 | 18.9.2020, 18:59 автор: fedornabilkin |
Текстовая версия | Сейчас: 25.4.2024, 3:15 |