Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-rus] (no subject)



On Mon, 11 Oct 1999, Alexander I. Barkov wrote:

> > Решение тривиально, хотя и является нарушением буквы стандарта.
> > Писать в html url в незаэскейпленном виде.
> > 
> > <A HREF="myscript?page=1&q=тест">
> > 
> > тогда русский апач перекодирует это дело при отдаче, а браузер вернет
> > заэскейпленую URL, которая перекодируется обратно.
> 
> 
> Это понятно. 
> 
> Но в том-то и дело, что не хочется нарушать стандарт (надо было сразу
> написать),
> а поэтому как-то бы получить неперекодированный QUERY_STRING. Видимо,
> его
> необходимо затаскивать в какую-нить другую переменную окружения
> непосредственно
> во время перекодировки внутри апача. Иначе придется в самом скрипте
> вставлять
> перекодировку. 
> 
> Господа разработчики, а может можно сделать простой выход? Я думаю,
> я не первый и не последний, кто столкнулся с такой проблемой.
Тогда это не сюда, а в Apache-rus.

Корни проблемы следующие
1. Перекодировать QUERY_STRING надо, а то данные введенные пользователем
  обработать не получится
2. Писать в url русские буквы не хочется, т.к. стандарт нарушает.
3. Заставить Алекса парсить HTML и перекодировать текст по одному
  и url-ки по другому не получится. Он уже сколько раз это мнение
  тут высказывал. Подумайте хотя бы о performance impact. Если уж
  говорят, что на десятках запросов в секунду просто перекодировка
  заметна.
    
  
Отсюда амораль- избегать русских букв в a href, плевать в кодированном
или некодированном виде.

Варианты борьбы

1.
<FORM><!-- action здесь вообще говоря не нужна-->н
<input type=hidden name="q" value="Тест">
<input type=hidden name="page" value=1>
<input type=submit name=next value="Следующая страница">
</FORM>
  Да, длиннее чем href, зато стандарты соблюдены. И возможностей для
   оформления, вообще говоря, больше. 
2. Вместо q=тест передавать в следющую страницу какой-нибудь id.

 
--------------------------------------------------
Victor Wagner			vitus@ice.ru
Programmer			Office:7-(095)-203-51-19
Institute for Commerce 		Home: 7-(095)-135-46-61
Engineering                     http://www.ice.ru/~vitus

=============================================================================
=               Apache-Rus@lists.lexa.ru mailing list                       =
Mail "unsubscribe apache-rus" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/mail-archive                =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.