Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> header() не могу запретить кеш 
V
    Опции темы
azam
Дата 18.4.2008, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



Вставляю такие заголовки в начало файла 
Код

header("Caсhe-control: no-cashe");
header("Expires: Thu, 19 Nov 2006 08:52:00 GMT");

а firebug все равно говорит что "137 KB from cache"
что я не правильно делаю, чтоб запретить кеширование?

Это сообщение отредактировал(а) azam - 18.4.2008, 22:00
PM MAIL   Вверх
Fortop
Дата 18.4.2008, 22:50 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(azam @  18.4.2008,  21:37 Найти цитируемый пост)
Caсhe-control: no-cashe

Сравни написание первого слова и последнего. Ничего не замечаешь?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
awers
Дата 18.4.2008, 23:38 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Я бы посоветовал сделать так (Работает нормально и в опере и в сафари ....):
Код

header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

PM MAIL WWW ICQ Skype   Вверх
azam
Дата 19.4.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



Цитата

Цитата

Caсhe-control: no-cashe

Сравни написание первого слова и последнего. Ничего не замечаешь? 

Знаю но в моем учебнике написано именно "no-cashe". Я пробовал и no-cashe и no-cache никак.
А вообще как отменить кеширования во всех браузерах с помощью header()
PM MAIL   Вверх
flashaa
Дата 19.4.2008, 19:43 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



поиск в гугл сразу же говорит вот что:
http://www.spravkaweb.ru/php/sovet/nocash
Код

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом 
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
Header("Pragma: no-cache"); // HTTP/1.1 
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");

PM MAIL   Вверх
azam
Дата 19.4.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



Цитата

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом 
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
Header("Pragma: no-cache"); // HTTP/1.1 
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");

Не помогает firebug все равно говорит "(126 KB from cache)"

Я собственно в программирование недавно "пришел", могу что-то делать не так.
Но если вставить выше указанный код в начало файла то как я понимаю по идеи должен запрещаться  кэш.
Как вообще можно проверить кэшируется информация или нет кроме firebug (это вообще достоверный источник?)

PM MAIL   Вверх
Fortop
Дата 19.4.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Так, а уточни пожалуйста, в каком месте тебе это говорит FireBug? Т.е. где у него можно увидеть это сообщение?



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
skyboy
Дата 20.4.2008, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



я так понимаю, это на закладке Net(список всех загруженных объектов) внизу списка. всего. всего взято из кеша.
azam, а у тебя только один-единственный файл, что ты так уверен - из кеша берется именно он? ни CSS, ни javascript, ни графики нету никакой?
PM MAIL   Вверх
awers
Дата 20.4.2008, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



присоединяюсь к skyboy.
Почему решили что именно страница кешируется а не css/js/images???
PM MAIL WWW ICQ Skype   Вверх
azam
Дата 20.4.2008, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



Цитата

Так, а уточни пожалуйста, в каком месте тебе это говорит FireBug? Т.е. где у него можно увидеть это сообщение?

Да это на закладке NET в самом низу.

Цитата

azam, а у тебя только один-единственный файл, что ты так уверен - из кеша берется именно он? ни CSS, ни javascript, ни графики нету никакой?

Ну вообще он говорит что из кеша берет images и css. но странно то что он показывает одни и те же данные с этим кодом
Цитата

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом 
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
Header("Pragma: no-cache"); // HTTP/1.1 
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");
и без него
Получается он не реагирует никак что ли??? Причем картинки иногда кеширует иногда нет(хотя я ему запрещаю)
PM MAIL   Вверх
skyboy
Дата 20.4.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(azam @  20.4.2008,  10:34 Найти цитируемый пост)
Получается он не реагирует никак что ли???

ты и картинки, и CSS тоже с этими заголовками отдаешь? или ты их выгрузку не контролируешь и возлагаешь на сервер?
PM MAIL   Вверх
azam
Дата 20.4.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



Цитата

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


А-а-а!!!!  skyboy я не понял вопроса если можно поясни пожалуйста.



PM MAIL   Вверх
Feldmarschall
Дата 20.4.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Цитата(azam @  20.4.2008,  11:34 Найти цитируемый пост)
Причем картинки иногда кеширует иногда нет(хотя я ему запрещаю) 

как ты это делаешь?
PM   Вверх
skyboy
Дата 20.4.2008, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



azam, ответь на вопрос Feldmarschall'a. будем разбираться постепенно
PM MAIL   Вверх
azam
Дата 20.4.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



есть главная страница сайта погулял я по сайту потом обратно на главную (не хочу чтоб она кешировалась) вставляю вот такой код в начало файла.
Цитата

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом 
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
Header("Pragma: no-cache"); // HTTP/1.1 
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");

Должно запрещаться или нет?

Если кому интересно:
Код

<?php

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом 
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
Header("Pragma: no-cache"); // HTTP/1.1 
Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");

$page=$tmp;

session_start();

    $das=mysql_query('select * from news order by Time desc limit 0,4');
    while($tmp=mysql_fetch_array($das)){
        $d=array(
            'title'=>substr($tmp[Title], 0,75).'...',
            'URL'=>'about/news/?id='.$tmp[ID],
            'Дата'=>date('d-m-y', $tmp[Time])
            );
        $tpl_content[news][]=$d;
    }

        if(!$_SESSION[user]){
            $tpl_content[регистрация][][nbsp]='&nbsp; &nbsp';
        }
//форум
    $sas=mysql_query('select * from message order by date desc limit 0,6');
    while($tbp=mysql_fetch_array($sas)){
        $tem=mysql_fetch_array(mysql_query('select * from tema where id="'.$tbp[id_tema].'" '));
        $rubr=mysql_fetch_array(mysql_query('select * from rubr_forum  where id="'.$tem[id_rubr].'"'));
        $coun_t=mysql_fetch_row(mysql_query('select count(*) from message where id_tema="'.$tbp[id_tema].'"'));
        $last_mes=mysql_fetch_array(mysql_query('select max(date) as date  from message where id_tema="'.$tbp[id_tema].'"'));
        $r=array(
            'URL_r'=>'forum/?id_r='.$rubr[id],
                    'URL_t'=>'forum/?id_r='.$rubr[id].'&id_t='.$tem[id],
                 'tema'=>$tem[title],
            'rub'=>$rubr[name],
            'kol_mes'=>$coun_t[0],
            'date_mes'=>date('d.m.y', $last_mes[date])

            );
        $tpl_content[форум][]=$r;
        $all_tem=mysql_fetch_row(mysql_query('select count(*) from tema'));
        $tpl_content[all_tem]=$all_tem[0];
    }

//статьи
    $gat=mysql_query('select * from statya order by date limit 0,3');
    while($fat=mysql_fetch_array($gat)){
    $ftp=mysql_fetch_array(mysql_query('select * from rubrica where id="'.$fat[id_rubr].'"'));
        $r=array(
                'rub'=>$ftp[name],
            'tema'=>$fat[title],
                    'URL_r'=>'articles/?id_rub='.$ftp[id],
                    'URL_t'=>'articles/?id_stat='.$fat[id].'&id_rub='.$ftp[id],
            'дата'=>date('d.m.y', $fat[date])

            );
        $tpl_content[stat][]=$r;
    }

//статьи для автомобилей
    $get=mysql_query('select * from statya where id_rubr="1" order by date limit 0,3');
    while($fet=mysql_fetch_array($get)){
        $z=array(
            'stat'=>$fet[title],
            'URL'=>'articles/?id_stat='.$fet[id].'&id_rub='.$fet[id_rubr]

            );
        $tpl_content[stat_av][]=$z;
    }

    $col_st=mysql_fetch_row(mysql_query('select count(*) from statya'));
    $tpl_content[st_kol]=$col_st[0];


//банеры


    $fff=mysql_query('select * from baner where id_page="1"');
    while($tmp=mysql_fetch_array($fff)){


        if(!$tpl_content[baner1]){
            $tpl_content[baner1]='baner/'.$tmp[url_f];//450*100 левый
        }
        elseif(!$tpl_content[baner2]){
            $tpl_content[baner2]='baner/'.$tmp[url_f];//450*100 правый
        }
        elseif(!$tpl_content[baner3]){
            $tpl_content[baner3]='baner/'.$tmp[url_f];//450*100 правый
        }
        elseif(!$tpl_content[baner4]){
            $tpl_content[baner4]='baner/'.$tmp[url_f];//450*100 правый
        }
        elseif(!$tpl_content[baner5]){
            $tpl_content[baner5]='baner/'.$tmp[url_f];//450*100 правый
        }
    }

//каталог для автомобилей

/*    $dac=mysql_query('select * from model');
    while($trt=mysql_fetch_array($dac)){
        $des=mysql_query('select * from avto id_mod="'.$trt[id].'"');
        while($web=mysql_fetch_array($des)){

        }
    }
*/
//фото
    $zac=mysql_query('select * from avto where id_foto=1 order by date limit 0,9');
    while($dop=mysql_fetch_array($zac)){
        $hap=mysql_query('select * from foto where id_avto="'.$dop[id].'" limit 0,1');
        while($fot=mysql_fetch_array($hap)){
                $m=array(
                    'URL'=>'small_pic/'.$fot[url_f],
                    'URL_h'=>'avto/?id_ob_t='.$dop[id].'&id_m='.$dop[id_mod].'&id_r='.$dop[id_mark]
                );
            $tpl_content[фото][]=$m;
        }
    }

//всего обявлений
    $tet=mysql_fetch_row(mysql_query('select count(*) from avto'));
    $tpl_content[kol_ob]=$tet[0];

    $pot=mysql_query('select count(*) as col from avto where (unix_timestamp(current_date)-date)<=604800');
    while($tes=mysql_fetch_array($pot)){
        $tpl_content[last_week]=$tes[col];
    }

$tpl[Заголовок]='Северная Осетия - '. $page[Title];
$tpl[Содержание]=render_tpl($tpl_content,'templates/engine/index.tpl');


?>



Это сообщение отредактировал(а) azam - 20.4.2008, 22:36
PM MAIL   Вверх
skyboy
Дата 20.4.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(azam @  20.4.2008,  21:35 Найти цитируемый пост)
Должно запрещаться или нет?

кешировать страницу, т.е. html, генерируемый твоим PHP-скриптом. 
CSS, JS, картинки - это совсем отдельные файлы.
если ты их не "отдаешь" вручную вместе с заголовками, их по запросу отдает HTTP - сервер. 
если ты эти картинки/стили и т.д. не меняешь, вменяемый сервер будет отдавать заголовки такие, что вменяемый браузер будет кешировать эти неизменные элементы.
чтоб убедиться, что твоя страница не кешируется, убери из html верстки все ссылки на css, ja, картинки и прочие встраиваемые объекты.

Добавлено через 1 минуту и 35 секунд
если у тебя не стоит цель полностью запретить кеширование(даже с картинками и прочим "тяжеловесом"), то просто проверить - кешируется или нет. выбрось из верстки все "внешнее", измени php -файл и обнови страницу в браузере. видны изменения?
PM MAIL   Вверх
Feldmarschall
Дата 20.4.2008, 23:03 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Цитата(azam @  19.4.2008,  19:39 Найти цитируемый пост)
как отменить кеширования во всех браузерах с помощью header() 

начнем с того, что на сто процентов - никак.
Можно лишь рекомендовать браузеру, как кэшировать страницу, но как он будет это делать - зависит от его настроек.

Цитата(azam @  20.4.2008,  22:35 Найти цитируемый пост)
Если кому интересно:

Непонятно, при чем здесь код самого скрипта.

skyboy, выкинуть внешнее - не вариант.
Кэширование бывает очень разное. Есть expires, есть conditional get (if-modified), есть настройки самого браузера.
По умолчанию, кстати, пхп скрипты никак не кэшируются, сами по себе, безо всяких лишних заголовков - поскольку expires не выдается, и conditional get не обрабатывается.
И если скрипт кэшируется, то, скорее всего, дело в настройках браузера.
PM   Вверх
azam
Дата 21.4.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 8.10.2007
Где: г. Владикавказ

Репутация: нет
Всего: нет



Извиняюсь за долго отсутствие.
Цитата

Цитата

как отменить кеширования во всех браузерах с помощью header() 

начнем с того, что на сто процентов - никак.
Можно лишь рекомендовать браузеру, как кэшировать страницу, но как он будет это делать - зависит от его настроек.

Это одна из главных вещей которую я хотел узнать.
Вопрос нетривиальный это я понял буду разбираться спасибо.

skyboy, Feldmarschall респект.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0853 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.