Ru-Board.club
← Вернуться в раздел «Web-программирование»

» Apache отдает error 500 вместо выставленной в PHP 600

Автор: safo
Дата сообщения: 22.08.2007 15:17

Цитата:
Вопрос звучит примерно так: "Я поменял конденсатор на сетевой плате на более надежный и теперь она не работает с моим домашним свчем. Но у заказчика та же плата работает и даже показывает большую скорость чем раньше. Круто?"
В действительно считаете это адекватным подходом или нужны еще объяснения?


Бред
Автор: dacuan
Дата сообщения: 22.08.2007 15:22
safo

Цитата:
Бред

То же самое Вы предлагаете сделать и с протоколом HTTP.
Автор: safo
Дата сообщения: 22.08.2007 17:24
dacuan
Я с ним абсолютно ничего не делаю. Что Вы никак не успокоитесь? XMLHttpRequest кроме всех ошибок, предусмотренных протоколом HTTP, отдает в своем статусе и другие, которые к нему не относятся. Если разработчики данного объекта решили, что можно в статус агрегировать ошибки различного рода, чтоб облегчить жизнь программистам, то почему я не могу передать в объект еще какое-нибудь своё пространство номеров?

В этом случае большая часть анализа ситуации происходит еще на сервере! Клиент становится "тоньше", да и серверные скрипты сокращаются в строках более чем на десять процентов. А это скорость и уменьшение количества потенциальных ошибок в коде. Вот собственно и все.

И не надо так горячиться. Пойдите выпейте пивка и все пройдет
Автор: dacuan
Дата сообщения: 22.08.2007 17:43
safo


Цитата:
Что Вы никак не успокоитесь?

Я совершенно спокоен, или вы видели в моих постах неуравновешенность и признаки агрессии?


Цитата:
XMLHttpRequest кроме всех ошибок, предусмотренных протоколом HTTP, отдает в своем статусе и другие, которые к нему не относятся. Если разработчики данного объекта решили, что можно в статус агрегировать ошибки различного рода, чтоб облегчить жизнь программистам, то почему я не могу передать в объект еще какое-нибудь своё пространство номеров?

Попытайтесь самостоятельно найти разницу между этими двумя ситуациями.


Цитата:
В этом случае большая часть анализа ситуации происходит еще на сервере! Клиент становится "тоньше", да и серверные скрипты сокращаются в строках более чем на десять процентов.

А можно примеры кода до и после "улучшения", мне трудно представить каким образом использование левых HTTP-заголовков может облегчить серверный код. И на сколько увеличивает нагрузку на клиентсткую сторону разбор простого XML-файла? Или все вышеизложенное лишь ваше личное предположение?
Автор: safo
Дата сообщения: 22.08.2007 18:02
Что легче передать клиенту?
вариант первый
<error>
<code>123</code>
<message>Ошибка подключения к БД</message>
</error>

вариант второй
HTTP/1.1 123 DB error

По-моему, второй вариант? Как Вы считаете?


Цитата:
на сколько увеличивает нагрузку на клиентсткую сторону разбор простого XML-файла?


На сколько? Я Вам не могу сказать. Но увеличивает. Это не моё личное предположение, это факт. Можно и замеры произвести, только к чему это все? Тут вообще нечего обсуждать. Причем речь идет не только о скорости выполнения, но и о количестве кода. Это тоже важно.
Автор: dacuan
Дата сообщения: 22.08.2007 18:27
safo

Цитата:
Что легче передать клиенту?
вариант первый
<error>
<code>123</code>
<message>Ошибка подключения к БД</message>
</error>

вариант второй
HTTP/1.1 123 DB error

По-моему, второй вариант? Как Вы считаете?

Экономия 79 байт.... Интернет спасен, пользователь не будет ждать годами загрузки страницы. Работает не везде? Чепуха, главное -- экономия трафика.


Цитата:
На сколько? Я Вам не могу сказать. Но увеличивает. Это не моё личное предположение, это факт. Можно и замеры произвести, только к чему это все? Тут вообще нечего обсуждать.

Если эффект окажется настолько же большим как и в предыдущем примере, не думаю, что и этот аргумент можно серьезно рассматривать. Или вы не согласны?


Цитата:
Причем речь идет не только о скорости выполнения, но и о количестве кода. Это тоже важно.

Про объем кода мы разобрались на первой странице. В довесок, предвосхищая следующий вопрос, библиотека jQuery занимает аж 17КБ, грузится один раз и в последующем берется из кэша.

А теперь открою вам секрет, вы знаете, сколько служебной информации отсылается вместе в вашими страничками в заголовках протоколов IP, TCP и Ethernet? Попробуйте на досуге половить снифером, сильно удивитесь. Предлагаю, наплевать на стек OSI как на жуткий анахронизм, и реализовать работу с сайтом напрямую через сетевую карту. В плюсах вы получите 30-50% прироста скорости загрузки страниц, в минусах то, что на большей части оборудования оно работать не будет, но ведь это же не причина!



Автор: safo
Дата сообщения: 22.08.2007 18:51

Цитата:
Экономия 79 байт


Я не про трафик. Первый вариант тяжелее сформировать в скрипте. Можно тэг забыть закрыть, потом некоторое время разбираться потому, что в коде подобных строчек будет много. Да и не только это. Ошибки иногда под носом лежат, выявление занимает долгое время.


Цитата:
Если эффект окажется настолько же большим как и в предыдущем примере, не думаю, что и этот аргумент можно серьезно рассматривать. Или вы не согласны?


Не согласен. Я привык спекулировать на всем. Рассматриваю все аргументы.


Цитата:
Работает не везде


Работает везде.


Цитата:
Предлагаю, наплевать на стек OSI как на жуткий анахронизм

Я за! Так как он не используется в интернет!

Вы, наверное про стек TCP/IP хотели сказать?

Во, как "беспокоят треугольные дела"! Никак не успокоится человек!
Автор: Cheery
Дата сообщения: 22.08.2007 19:48
Мне надоели эти дебаты. потому что ни о чем.
Хотите менять RFC - обращайтесь в коммисию по разработке стандартов.

Хотите добавить свой заголовок - я указал как нужно делать без использования xml

Если будет продолжаться в том же тоне, то придется прикрыть тему.
Автор: dacuan
Дата сообщения: 23.08.2007 09:14
safo

Цитата:
Можно тэг забыть закрыть, потом некоторое время разбираться потому, что в коде подобных строчек будет много.

Странно слышать подобные утверждения от квалифицированного программиста. Вы хотите сказать, что у вас во многих частях кода присутсвует строка header("HTTP/1.1 600 Any error")? Думаю вам стоит пересмотреть ваш механизм обработки ошибок.


Цитата:
Работает везде.

Перечитываем первый пост.


Цитата:
Я за! Так как он не используется в интернет!

Вы, наверное про стек TCP/IP хотели сказать?

Отлично, я в восторге! Да будет известно достопочтимому сэру, что TCP/IP - это всего лишь реализация стека OSI, вернее его части. Советую перечитать учебники по компьютерным сетям, Олиферов например.


Цитата:
Во, как "беспокоят треугольные дела"! Никак не успокоится человек!

Конечно, вам же нужен был ответ или вы ожидали безоговорочной поддержки? Но в любом случае мне надоело объяснять очевидные вещи, боритесь с непонятными 500 ошибками, ищите баги апача и PHP, это ваше право.

PS Повторю свое предложение, если у вас есть еще вопросы ко мне, то давайте их в приват, а здесь только по существу.



Автор: safo
Дата сообщения: 23.08.2007 10:31

Цитата:
Думаю вам стоит пересмотреть ваш механизм обработки ошибок




Добавлено:
Не думаю, что мне нужно пересматривать механизм обработки ошибок. Все просто до безобразия. Код нагляден и легок для восприятия. Все приходит в одну точку транспорта. Номер ошибки подается в обработчик, который знает какие ошибки его интересуют а какие нет.
Автор: Cheery
Дата сообщения: 23.08.2007 18:57
safo
все, надоело.. решение
header("my_error_header: 600");

не нужно портить стандартный HTTP заголовок. читаете часть заголовка там, где хотите проверять, и берете этот кусок.. при этом никакого XML

Страницы: 12

Предыдущая тема: Проблема з SOAP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.