Forum Webscript.Ru
Общие => Веб Сервера => Тема начата: Vint от 27 Февраля 2002, 11:51:48
-
Люди, кто знает, чем отличается Moved Permanently и Moved Temporarly? Мне нужно с точки зрения редиректа кукисов, сохранения метода отправки запроса (post, get). Чем вообще при редиректе отличаются эти 2 типа. Если можно - примеры на php как сделать чтобы было одно и другое.
Заранее сенк.
-
Люди, кто знает, чем отличается Moved Permanently и Moved Temporarly?
Первый означает что ресурс изменил адрес навсегда а второй - временно. Хотя ИМХО броузеры оба варианта обрабатывают одинаково.
Мне нужно с точки зрения редиректа кукисов
А что такое "редирект кукисов"? Тебе нужно чтобы кукисы были видны на разных страницах? Тогда читай спецификацию по кукам или объясни подробнее что нужно
сохранения метода отправки запроса (post, get).
То есть на том ресурсе куда происходит редирект должны быть видны данные из GET/POST ? Лучше почитай про сессии
Если можно - примеры на php как сделать чтобы было одно и другое.
header("Location: ".$HTTP_HOST."/to.php");
exit;
-
не совсем то. Короче, я пишу скрипт, который будет прикидываться броузером, и куда-то ходить. След-но мне нужно как можно более точно им (броузером) прикидываться.
По поводу кукисов.
Когда я прихожу на страничку get / http/1.1
Допустим сервер мне отвечает
Location: news.html
Set-cookie: a=1
А вот тут засада, я должен сделать
get news.html http/1.1
Cookies: ????
Насколько я понял я не должен их отправлять сразу же, только на следующем посещении. Поэтому и спросил, отличается ли чем-нить в этом плане 302 и 303. Таже фишка с методом
post /search.php http/1.1
query=asdfg
Location: result.php
Каким методо я должен получить result.php, post или get? В любом случае или как?
-
Да что ты народ мучаешь
Возьми NetCat и посмотри что и кому шлет броузер
(или в Apache в логах сохраняй Headres Coockie и каке еще тебе надо)
потом расскажешь ;)
-
Конкретно по поводу кодов HTTP:
301 Moved Permanently
Запрошенному ресурсу был назначен новый постоянный URI, и во всех последующих ссылках на данный ресурс нужно использовать один из URI, возвращаемых заголовком Location.
302 Found
Запрошенный ресурс временно находится под другим URI. Location указывает на новую область. Для выполнения запроса клиент должен использовать новый URI, но в последующих запросах - старый, т.к. переадресация может быть непостоянной.
303 See Other
Ответ на запрос можно найти по другому URI, который указан в заголовке Location, и нужно считывать ответ методом GET для данного ресурса.
А чтобы "прикидываться броузером" вовсе не обязательно отличать коды 3xx друг от друга.
-
сенк, вот это уже получше.
-
Может пригодится...
Случайно наткнулся на следующий комментарий относительно ответа 302 (источник - "Apache для профессионалов", Питер Уэйнрайт, 1999, 2001):
Многие клиенты интерпритируют ответ 302 как ответ 303 и изменяют метод запроса на GET в нарушение протокола HTTP 1.1. Чтобы избежать этого, используйте код 307.
-
алгоритмы в броузерах писались не с потолка, а из известных источников. если есть огромное желание переизобрести свою версию велосипеда, то нужно прежде всего перечитать rfc.
(только мое имхо)
и не гадать, конечно :)
-
если есть огромное желание переизобрести свою версию велосипеда
желание появляется, когда за него предлагают деньги.
нужно прежде всего перечитать rfc
пытался найти - не получилось, вот и решил у народа спросить, а в результате - ничего конкретного.
-
yandex.ru -> http rfc в первых же строчках зеркала того, что нужно.
-
PS. http://www.rfc-editor.org/rfc/rfc2616.txt