Я выполняю сайт IIS 7.5, который подает содержание для http://www.foo.com/
Меня попросили правильно направить http://www.foo.com./ (отметьте запаздывающую точку). При ударе той страницы теперь Вы получите ошибку IIS:
Плохой запрос - недопустимое имя хоста
Ошибка HTTP 400. Имя хоста запроса недопустимо.
Это происходит даже для http://www.microsoft.com. Я видел, что некоторый маршрут сайтов запаздывает периоды успешно (как http://www.amazon.com./), но похоже, что большинство из тех использовало Apache, не IIS.
Я добавил заголовок хоста в IIS для www.foo.com. который позволяется. Однако это не позволит Вам создать сайт. Это не запустится и открывается высказывание окна сообщения:
Значение не находится в пределах ожидаемого диапазона.
Кто-либо знает, как подать домены с запаздывающими точками в IIS?
Конечная точка является абсолютно законной частью имени хоста - это просто это обычно невидимо, потому что это неявно в DNS. Если присутствует конечная точка, это называется «Полное доменное имя» (FQDN).
Обратите внимание, что в проводном DNS всегда работает с полными доменными именами.
§3.2.2 RFC 3976 (определение синтаксиса URI) говорит следующее (выделено мной):
Хост, идентифицированный зарегистрированным именем, представляет собой последовательность символов обычно предназначен для поиска в пределах локально определенного хоста или службы реестр имен, хотя для специфической для схемы семантики URI может потребоваться чтобы вместо этого использовался конкретный реестр (или таблица с фиксированными именами). В наиболее распространенным механизмом реестра имен является система доменных имен (DNS).Зарегистрированное имя, предназначенное для поиска в DNS, использует синтаксис определено в Разделе 3.5 [RFC1034] и Разделе 2.1 [RFC1123]. Такой имя состоит из последовательности меток домена, разделенных ".", каждый метка домена, начинающаяся и заканчивающаяся буквенно-цифровым символом и возможно также содержащие символы «-». Крайний правый ярлык домена полного доменного имени в DNS может сопровождаться одним "." и должно быть, если необходимо различать полное доменное имя и некоторый локальный домен.
Отправьте отчет об ошибке в MS.
Я уверен, что где-то есть ошибка, но вопрос в том, что это за ошибка.
Я думаю, что ошибка в том, что IIS позволяет вам устанавливать заголовок хоста с завершающим ".". Заголовок хоста - это не то же самое, что полное доменное имя. Заголовок хоста должен соответствовать директиве Host в HTTP-запросе:
GET / HTTP/1.0
HOST: www.doilooklikeicare.com
Он определенно действителен в URL-адресе, введенном в браузере, например: http://www.doilooklikeicare.com./default.aspx поскольку это решено, чтобы узнать, ГДЕ отправить запрос.
Попробуйте удалить конечную точку в заголовке хоста, и все должно работать нормально. Вы по-прежнему сможете использовать его в URL-адресе.
Надеюсь, это поможет
Джонатан