Есть сайт, там страницы только на русском (ru). Есть посетитель, у которого в заголовке запроса "Accept-Language: zh-CN" (например), т.е. указан конкретный язык (или языки). Какое поведение сайта будет правильным? - послать (типа "документа/страницы на китайском языке нет") - всё-таки выдать страницу (на русском языке)
Accept-language выдает языки с указанием приоритета. Т.е. 1) надо смотреть список допустимых языков в порядке убывания и сравнивать с тем, что мы можем предложить. Если мы можем предложить только русский, то думать не о чем Нет вариантов, нет проблем. 2) сугубое IMHO: выдавать текст меню, всяких вспомогательных ссылок, т.е. "интерфейс", на предпочтительном языке, а язык основного контента должен зависеть только от URL! 3) в каких-то специальных случаях возможно редирект на URL со страницей на предпочтительном языке, чтобы не нарушить правило 2. Нормально было бы делать такой редирект например для "Правил" или "Контактов" или "ЧаВо". Добавлено спустя 1 минуту 35 секунд: ты придумал самый неправильный вариант фантазия работает, молодец!
нельзя забывать о поисковиках. они раздражаются, если по одному и тому же адресу, пользователь и бот видят разное. Добавлено спустя 2 минуты 44 секунды: послать 404 если конечно урл у нее китайский, как писал Саша постом выше. А когда послал, предложить на русском страницу по ссылке, а если такой умный, то и через гугл транслейт.
igordata, ну мы тут вроде с вебом работаем, почту рассылаем. чаще всего именно эти задачи перед веб-мастерами встают. хотя бы разовое прочтение rfc 2616 (http/1.1) и 2822 (internet message format) рекомендую.
потрать недельку, рекомендую. я вот несколько лет назад это сделал когда нужно было реализовать "правильный" conditional get. и узнал что есть извращения типа if-unmodified-since - возвратить текст страницы только в случае если она не изменилась на сервере или 412 если изменилось. там вообще много полезного. меня вот бесит на телефоне читать письма в которых для заголовка указали что это юникод а для тела - нет. всех бы обязать работать исключительно по стандартам...
мне кажется, тогда бы развитие остановилось. сейчас быстрее выкатить новые возможности, чем их документировать, согласовывать, стандартизировать, бла-бла-бла.
мне кажется, вы мысль не поняли. посмотрите сколько однотипных тем про кодировки/хтмл/вложения в письмах. есть стандарт, который описывает формат электронного сообщения. почему-то, когда я пишу скрипт формирующий письмо и соблюдаю минимальные требования описанные стандартом - письмо одинаково корректно отображается на всех платформах, на которых я имею возможность тестировать. а вот письма от других программистов я не могу так же удобно читать где захочу - потому что они не знают, что всего пара опущенных строк и письмо превращается в бессмысленный набор байтов. приведу абстрактный пример. купили вы ваз-2106 (все знают такую модель) но завод продал машину с двумя колесами, только передние. вот программа [для ленивых людей] попытается сделать так чтоб машина поехала - накатит еще пару колес, на жопу. раздатку добавит, кардан, кпп, двигатель, если и его не будет. а программа которая стандарты соблюдает - посмеется над тем как это ведро стало еще более уебищным куском металла. теперь скажите мне, вы впервые видите автомобиль, первый в жизни, и вот такой вот. вы не знаете как должен выглядеть автомобиль, но знаете, что он должен ехать. а эта херня не едет. что вы будете делать? почему ВЫ это должны сделать, а не завод изготовитель? где тут развитие?
и тут пользователь решает отправить видюшку вам в почту, письмо такое на треть увеличивается и вы качаете на телефон мегабайт так 500 сообщения. всё же по стандарту. или же почтовая программа может спросить - а не закачать ли нам это всё на файлообменник да ссылочкой скинуть. одна из причин, почему xml в вебе не прижился.
хороший пример. только я хер прочитаю письмо из-за отсутствия в нем пары строк которые отвечают за его базовое отображение, а не за ссылочку на файлообменник. так что пример плохой.