Зачем реферера кодируют в base64?

Konstantin

Новичок
Зачем реферера кодируют в base64?

Разбирал код клиентской части сборщика статистики. Клиентская часть инклудится в пхп-движок обсчитываемого сайта. Собранные данные отдаются POST'ом на сервер статистики. Статистические данные представлены в виде request-подобной строки (видимо в серверной части строка разбирается при помощи parse_str()).

Так вот, смутило то, что HTTP_REFERER кодируется в base64, а для передачи других данных используется только urlencode().

Объясните мне пожалуйста, для каких целей используется base64 кодирование :)
Я понимаю, что в реферере может прийти всё, что угодно. Но разве с эти не справляется urlencode()?
Заранее спасибо.
 

Андрейка

Senior pomidor developer
>Я понимаю, что в реферере может прийти всё, что угодно
а я не понимаю %) объясни плиз что ж там такое может прийти
 

Konstantin

Новичок
Реферера отдаёт клиентский браузер. Хотя, как и юзер-агента.
Может ли от браузера прийти что-либо такое, для чего нужно будет использовать кодирование в base64?

P.S.: для юзер-агента в коде применяется urlencode().
 

Андрейка

Senior pomidor developer
>для юзер-агента в коде применяется urlencode
не знаю.. еще ни разу не делал urlencode для юзер-агента.. обязательно попробую
 

Wicked

Новичок
Не вижу причин использовать base64. Urlencode действительно должно хватать.

Андрейка
иногда лучше жевать.
 

Андрейка

Senior pomidor developer
Wicked
утро вечера мудреннее.

>Urlencode действительно должно хватать.
для чего?
 

Wicked

Новичок
Почему-то пост http://phpclub.ru/talk/showthread.php?postid=658163#post658163 мне досканально понятен. Так что включай уже голову, и перечитывай до просветления.
 

Фанат

oncle terrible
Команда форума
а вот я бы спросил, почему данные на сервер статистики передаются постом.
 

Alexandre

PHPПенсионер
а вот я бы спросил, почему данные на сервер статистики передаются постом
а я бы ответил, а почему бы и нет? просто так через Ж... сделан сервер статистики. это уже проблема разработчика сервера.
 

Konstantin

Новичок
Wicked
спасибо

Фанат
А в чем разница? Кроме того, что размер кода клиентской части был бы меньше.
 

Wicked

Новичок
Konstantin
насколько мне известно, обычно принято делать так, чтобы юзерский браузер работал с сервером статистики напрямую. А если уж ты берешь эту работу на себя, постарайся сделать так, чтобы время ожидания этого пост-запроса не сказывалось на юзере.
 

Konstantin

Новичок
Wicked
Видимо на сервере статистики обсчитываются ещё и роботы, поэтому счетчик исполнен в виде инклуда, и поэтому же юзер в любом случае получает некоторую задержку пока идёт передача данных серверу статистики.

Другой вопрос, почему Фанат акцентировал внимание на методе передачи данных.
Пост медленнее? :)
 

Konstantin

Новичок
Андрейка
Чтобы узнать, для каких целей в этом случае применили base64 кодирование (это как раз в первом посте прекрасно изложено), чтобы подтвердить своё предположение о том, что причины использовать base64 вместо urlencode() не было (Wicked это подтвердил).
 

Андрейка

Senior pomidor developer
Konstantin
ааа... полегчало теперь? ) вы вместе с Wicked знаете что там и как написано в чужой статистике и есть ли повод писать так или иначе? )
 

Konstantin

Новичок
Андрейка
Конечно полегчало. Теперь я, когда буду писать подобного рода код, не буду задумываться, использовать мне urlencode или base64, т.к. данный момент уже был выяснен ;-)
Всё ведь в образовательных целях :)
 

Фанат

oncle terrible
Команда форума
форум пхпклуба - единственное место на земле, которое мне ежедневно напоминает анекдот про пьяницу, который часы искал под фонарём.
 
Сверху