отличия session_cache_limiter('nocache') и header("Cache-Control: no-cache") ?

alexblade

Новичок
отличия session_cache_limiter('nocache') и header("Cache-Control: no-cache") ?

Скажите пожалуйста есть ли отличия (в результате) в применени этих двух методов ?

1.
PHP:
session_cache_limiter('nocache');
session_start();
2.
PHP:
session_start();
header("Expires: Sun, 1 Jan 2000 12:00:00 GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
 

DiMA

php.spb.ru
Команда форума
wget -d URL
для обоих примеров, сравни, подумай
 

alexblade

Новичок
у меня нет доступа к NIX системе.

не мог бы ты сюда запостить оба результата ?
 

DiMA

php.spb.ru
Команда форума
а причем тут юникс? Вообще не причем. PHP и средства посмотреть заголовки (wget, Firefox, Opera..., самим же пхп скачать, phpinfo()) - кроссплатформенные.
 

alexblade

Новичок
:confused: команда в никсах такая есть...
а в пхп я не нашол wget метода , объясни плиз о чём ты говоришь ?
 

SiMM

Новичок
Да хоть telnet'ом под виндой запрос формируй, уж коль про сниферы никогда не слышал.
 

DiMA

php.spb.ru
Команда форума
ну, писец, сегодня день домохозяйки. У тебя под юнихом wget имеет хоть какое-то отношение к пхп? Никакого. Под виндой то с какого бодуна wget вдруг надо в доке по пхп искать???

Yandex.ru "скачать wget.exe"
 

alexblade

Новичок
или я не так смотрел но разницы не увидел. я правильно понял ?

и тут назрел второй вопросик не совсем по теме - если я передаю через хэдэр - контент лэнгвич: ру то в http загаловках так и пишет
а если средствами html <META HTTP-EQUIV="Content-Language" CONTENT="ru"> то не срабатывает, скажите, что не так пишу?
 

dimagolov

Новичок
alexblade, а что должно "срабатывать" благодаря Content-Language? Что от браузера ожидается? Или от поисковой машины?
 

alexblade

Новичок
dimagolov
по ворому вопросу - браузеру или поисковику передается что страница на русском .. не более того. если через header() передавать то в загаловках видно что сервер отвечает язык у страницы русский. но еще до изобретения header был родной html синтаксис передачи http заголовков с помощью мета тэга. но вот с помощью мета как раз не фига не работает. можете подсказать почему?
 

dimagolov

Новичок
но еще до изобретения header был родной html
это в мемориез, можно и на bash.org :D

alexblade, заголовки могут посылать как сервер, так и клиент (браузер). мета тэг может отдать только сервер.
Судя по описанию заточен под Content-Language под отправку сервером. Но из спецификации лично мне не очевидно, как браузер должен на это отреагировать. Так как ты этим вопросом озаботился, то ты должен знать, как должно повлиять на браузер наличие этого заголовка. Не понимая какой эффект ждать невозможно сказать реагирует или нет на META. Вот я и пытаюсь от тебя добиться, что должен сделать браузер получив этот заголовок такого, что он бы не делал без него?

14.12 Content-Language

The Content-Language entity-header field describes the natural language(s) of the intended audience for the enclosed entity. Note that this might not be equivalent to all the languages used within the entity-body.

Content-Language = "Content-Language" ":" 1#language-tag

Language tags are defined in section 3.10. The primary purpose of Content-Language is to allow a user to identify and differentiate entities according to the user's own preferred language. Thus, if the body content is intended only for a Danish-literate audience, the appropriate field is

Content-Language: da

If no Content-Language is specified, the default is that the content is intended for all language audiences. This might mean that the sender does not consider it to be specific to any natural language, or that the sender does not know for which language it is intended.

Multiple languages MAY be listed for content that is intended for multiple audiences. For example, a rendition of the "Treaty of Waitangi," presented simultaneously in the original Maori and English versions, would call for

Content-Language: mi, en

However, just because multiple languages are present within an entity does not mean that it is intended for multiple linguistic audiences. An example would be a beginner's language primer, such as "A First Lesson in Latin," which is clearly intended to be used by an English-literate audience. In this case, the Content-Language would properly only include "en".

Content-Language MAY be applied to any media type -- it is not limited to textual documents.
 

alexblade

Новичок
у меня с англиским не очень.

if the body content is intended only for a Danish-literate audience, the appropriate field is:
Content-Language: da

если адресуем датско-говорящим то ставим Content-Language: da

насчет браузера можно отнести строчку, если я правильно её понял - позволяет определить является ли язык содержимого предпочитаемым у агента.

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

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

вообще я поставил и <html lang="ru"> и мета таг но в загаловках нету ожидаемого сообщения Content-Language: ru :(

а увидел это сообщение на phpclub.ru и стал копать и нашол что его можно вызвать только header()ом но в хтмл специально для этого тоже же есть инструмент - почему он не работает ? может я не так пишу case-sensivite хотя пробовал по разному или может есть инфа что нифига не работает на самом деле этот тэг ?

по первому - я правильно понял что нет разницы между использованием двух no-cache инструментов?
 

dimagolov

Новичок
alexblade, ты вообще понимаешь, что такое http пакет, из чего он состоит? ты не понимаешь, что заголовки, это то, что передается в заголовке http пакета, а тело, это то, что в теле. И все что ты пропишешь в header() (или в конфиге сервера), то и уйдет в заголовках, но НИЧЕГО БОЛЕЕ. А то, что пошлешь в теле (свой html), то и пойдет в теле. Причем если допускается одни и те же данные слать как в заголовках так и в теле, то клиент будет использовать то, что пришло в заголовках, а то, что в теле игнорировать (самый простой пример кодировка).
 

alexblade

Новичок
ага, понятно.
однако,
в заголовке я ничего не шлю про контент-тайп, это есть только в теле (внутри хтмл) однако получаю ответ в заголовке
Content-Type: text/html
Server: nginx/0.6.36
Vary: Accept-Encoding
:confused:
почему этим же способом в теле указава лэнгвич я не получают ответа Content-Language: ru
 

alexblade

Новичок
"в заголовке я не шлю" имеется ввиду в страницу лежащию на сервере я не прописывал header() а только мета тэг

-~{}~ 22.07.09 18:50:

еще раз подробно:
вставляя мета тэг в хтмл, который передается от сервера в теле хттп, я ожидаю увидеть в заголовке хттп от сервера Content-Language: ru

как в случае если я вставляю header() в хтмл, который передается от сервера , частично в теле хттп ,а частично то что касается header() передается в заголовке хттп.

ответа почему я не вижу Content-Language: ru в случае применения мета тэга в первых двух линках я не увидел, в третьем же не совсем понял что это и какое имеет отношение к моему серверу.
 

dimagolov

Новичок
alexblade, попробуй прочитать и ПОНЯТЬ то, что тебе я и baev написали. если не поймешь - меняй профессию, к веб-программированию ты непригоден.

-~{}~ 22.07.09 11:54:

вставляя мета тэг в хтмл, который передается от сервера в теле хттп, я ожидаю увидеть в заголовке хттп от сервера Content-Language: ru
пациент неоперабелен, в морг :(
 

alexblade

Новичок
dimagolov
выстрелом в голову лечим головную боль
где, на базовом уровне я не понимаю?:

/речь только об ответах с сервера/

http
--------
header
--------
body

прописываю в body мета тэг лэнгвич и <html lang="ru"> в (http)header не вижу Content-Language: ru

прописываю в body php функцию header('Content-Language: ru') в (http)header вижу Content-Language: ru
 

Ralph

Дикий столяр
Автор оригинала: alexblade
dimagolov
выстрелом в голову лечим головную боль
где, на базовом уровне я не понимаю?:
Наверное,не совсем понимаете разницу между словами "является" и "эквивалентен" ...
 

dimagolov

Новичок
alexblade, заголовок http запроса и заголовок html страницы это две большие разницы друг к другу отношения не имеющие. ВСЯ html страница составляет тело http-запроса (вернее отклика), который возвращает сервер на запрос.
php ф-ии прописываются не в body, а в скипте. если буферизация вывода не запущена, то после какого-либо вывода (в тело запроса) отправить http-заголовок уже невозможно.
тебе прочитать и понять http://phpfaq.ru/na_tanke надо для начала.
 
Сверху