Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: как правильно вернуть статус 304?
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
суть проблемы: некоторые изображения возвращаются не из папки, а скриптами, хотелось бы чтоб скрипты не делали ненужной работы, а именно если можно возвращали статус 304 и не возвращали лишний раз изображение
так вот как правильно проверить что щас надо вернуть браузеру, изображение или 304?
LIME
Отправлено: 14 Марта, 2012 - 22:33:55
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
для seo хорошо чтобы скрипт не перенаправлял
лучше чтобы получал файл_гет_контент картинки, добавлял заголовок и выдавал картинку за свою
OrmaJever
Отправлено: 14 Марта, 2012 - 22:34:35
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
DlTA пишет:
так вот как правильно проверить что щас надо вернуть браузеру, изображение или 304?
У меня такой же вопрос. По какому критерию вы решили так делить? Мальчика картинку, девочкам ошибку или как?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
LIME
Отправлено: 14 Марта, 2012 - 22:46:45
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
а если seo не важно то в тег img атрибут src можно положить адрес обработчика который пошлет хидер с локэйшн нужной картинки
если я правильно понял
DlTA
Отправлено: 14 Марта, 2012 - 22:57:02
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
OrmaJever пишет:
У меня такой же вопрос. По какому критерию вы решили так делить? Мальчика картинку, девочкам ошибку или как?
чет вы не то говорите
http://www.xpro.su/archives/82 пишет:
В случае если страница не изменялась, существует возможность выдать только заголовок со статусом 304 и тем самым сэкономить траффик, а в ряде случаев и разгрузить сервер за счет того, что выполнение скрипта в такой ситуации можно завершить раньше.
LIME
Отправлено: 14 Марта, 2012 - 22:59:20
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
ага ясн
я подумал что ты перенаправляешь на сторонний ресурс
этот заголовок выдает веб сервер сам
не надо ничего делать
OrmaJever
Отправлено: 14 Марта, 2012 - 23:01:26
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Ну я же не ясновидящий увидеть где что в интернете написано.
Ну а если в браузере кэш выключен? Всё сайт на мусорку без картинок.
А по теме, можно зделать сесиями, изначально если сесии нет то картинка, если есть то ошибка.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DlTA
Отправлено: 14 Марта, 2012 - 23:05:14
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
OrmaJever пишет:
А по теме, можно зделать сесиями, изначально если сесии нет то картинка, если есть то ошибка.
это костыли, хотелось бы почеловечески,
определить что некая картинка может быть заменена на 304
пределить это по запросу браузера
как?
OrmaJever
Отправлено: 14 Марта, 2012 - 23:07:02
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
DlTA пишет:
пределить это по запросу браузера
как?
Страный вопрос... Ну некак.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DlTA
Отправлено: 14 Марта, 2012 - 23:16:18
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
OrmaJever пишет:
Страный вопрос... Ну некак.
почему??
пример заголовков которые при запросе к изображению:
я не пойму почему но при запросе к скрипту браузер вроде как не спрашивает о том можно ли брать контент из кеша
OrmaJever
Отправлено: 14 Марта, 2012 - 23:21:38
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
А по моему кэш работает по типу файла. Тоесть если это статический файл (картинки, html, стили) то берёт из кеша, а если динамический php, pl и подобная гадость то грузит.
Эту теорию можно проверить.
Взять файл генерирующий изображение и положить в отдельную папку
Затем перейменовать его например в file.jpg или file.png
И затем в htaccess написать правило что бы .jpg или .png файлы читались как скрипты.
Это чисто теоритический вариант. Я вобще точно не знаю как работает кэш у браузеров.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DlTA
Отправлено: 14 Марта, 2012 - 23:27:56
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
все дело в первых двух заголовках
Expires - до какого считать контент валидным
Last-Modified - последнее изменение
ну и $_SERVER['HTTP_IF_MODIFIED_SINCE'] - это в запросе браузера, уточняет что у него есть контент такой то давности
Мелкий
Отправлено: 15 Марта, 2012 - 07:32:08
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
OrmaJever пишет:
палит всю контору. И убрать его скорее всего не выйдет.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.