![]() |
Отсылка части cookies
Приветствую всех. У меня маленький, но хитрый вопрос.
1. Сначала хотел уяснить: файл cookies, установленный на странице, отсылается на сервак при очередном запросе? Подробнее: я набираю URL; туда идёт запрос; оттуда просят куки; я отсылаю куки; мне дают страницу. Так? 2. Можно ли (если я ничего не перепутал) отсылать не весь кукис для данной страницы, а только часть? Как-нибудь так... Или куки, передаваемый на сервак, и так "резаный" и пересылается только запрошенная часть, а не весь файл? |
Объясню суть проблемы подробней, наверное.
Я хочу у клиента на машине хранить информацию по конкретной странице. Эту инфу я пишу в куки. Но не будет ли эта инфа вместе с остальным содержимым куки ездить по сети туда-сюда при перезагрузке страницы? Если будет, то как бы сделать так, чтобы на сервер отсылался куки без моей "добавленной" информации? |
Понятно одно - ничего не понятно или непонятно чего Вы хотите ;)
Поставили кукис, считали с той страницы на которой установили. Как он может ездить туда-сюда? ;) |
hasherfrog
Я тоже честно говоря не очень понял Кукисы устанавливаются клиенту только тогда, когда мы вызвали для этого специальную команду, во всех остальных случаях мы можем просто читать или вообще ничего с ними не делать То есть если нет команды, то и кукисы не устанавливаются, не считываются и не изменяются |
Куки автоматом передаются на сервер при каждом обращении к странице. Дело только в том, что если сервер Х установил куки, то сервер Y их не получит. Т.е. область видимости кук - хост который из завел. Зону видимости можно регулировать с помощью параметров domain и path - расширять и сужать. Более подробно у создателя.
|
Prisoner
Вот смотрите. Есть букмарклет, который ставит коммент для страницы. Код:
javascript:q7Hm8=prompt('Comment...','');if(q7Hm8!=null){pVj5D=86400000*prompt('Expires in...(days)','15');dT9v=new Date;dT9v.setTime(dT9v.getTime()+pVj5D);void(document.cookie='cOmM3enT='+escape(q7Hm8)+'; expires='+dT9v.toGMTString())}else{void(null)} Код:
javascript:dL8=document.cookie.indexOf('cOmM3enT');if(dL8!=-1){d7n=document.cookie.substring(dL8+9,document.cookie.length);uHm=d7n.indexOf(';');dUP=(uHm==-1)?d7n.length:uHm;void(prompt('Comment:',unescape(d7n.substring(0,dUP))))}else{alert('No comment.')} 1. будет ли передаваться на forum.oszone.net часть кукиса cOmM3enT? 2. если да, то как её оставить у меня, но не передавать на oszone? 3. будет ли передаваться мне обратно с forum.oszone.net часть кукиса cOmM3enT? 4. если нет, то как обеспечить её созранность у меня? |
1) если кука была установлена для страницы на forum.oszone.net (без заполнения поля domain), то она (не часть, а весь набор переменных в куках для этого адреса) будет передаваться каждое обращение к страницам этого адреса. Если задействовать параметр domain, то можно ограничить отдачу кук адресу oszone.net, указав domain=forum.oszone.net
2) чуточку недопонимаю: если установили для аforum.oszone.net куку, то зачем ее не передавать-то? Другое дело, если нужно для разных страниц устанавливать разные куки. В этом случае поможет параметр path. 3) при обращении к страницам этого адреса - да А если честно, то у меня и сейчас такое чувство, что я что-то недопонимаю :) |
Цитата:
|
hasherfrog
Cookie, установленные для страницы (домена, части сайта), передаются серверу с каждым HTTP-запросом (при обращении к этой странице, части сайта) как часть HTTP заголовка. Целиком, естественно. А уже на стороне сервера можно разгребать переменные-значения и использовать нужные. |
mar, прояснилось. Но всё-таки непонятно... А если я кукис устанавливаю тут, на стороне клиента, руками (т.е. букмарклетом) - он тогда чей? Я имею в виду, если я укажу домен вида localhost - он мой будет? Сразу после перегрузки страницы, например, я его смогу прочитать? А на сервер он не "уедет", так?
|
hasherfrog
ну почему не уедет. У меня, например, на localhost апач стоит. И куки работаеют по-настоящему :) а если я руками укажу для любого сервера, на который никакого запроса не пошлю (в том числе и localhost), то ничего никуда и не уедет, все правильно. |
Вот хотел вернутся опять к теме. Пишу тут простенького бота, встал вопрос о том, как хранить инфу. Ещё раз хочу уточнить. Если браузер ставит на конкретную веб-страницу кукис с "доменом localhost", этот кукис не уедет на веб-сервер при перезагрузке страницы? и есть ли какой-нибудь способ (попроще, типа echo-form веб-сервиса или расширения для мозиллы), который позволял бы узнать, какие кукисы куда ушли?
|
hasherfrog
есть плагин под EI (HTTP headers вроде) он позволяет просматривать заголовки которыми отбениваются сервер и клиент. |
Время: 11:55. |
Время: 11:55.
© OSzone.net 2001-