Перекодировка "на лету"

В отличие от Refresh, Content-type - это настоящая директива заголовка HTTP-сообщения. Ее относят к директивам описания тела сообщения. Content-type определяет MIME(media-type в протоколе HTTP/1.1) тип и подтип содержания тела HTTP-сообщения. В общем виде она имеет синтаксис:
Content-type: тип/подтип
Основное назначение использования Content-type в META - определение типа кодировки. Для этой цели служит атрибут charset. Для большинства современных браузеров указания этого атрибута достаточно для того, чтобы можно было перекодировать тело документа из кодировки, в которой он получен, в кодировку, установленную в качестве кодировки отображения браузера. Тип кодировки тела документа и указывается в charset:
<meta http-equiv="Content-type" content="text/html; charset=windows-1251">
Существует однако ряд проблем, связанных с Unix- платформами, где перекодировка тела "на лету" осуществляется с ошибками. В этих случаях использование Content-type не рекомендуется. Если в качестве сервера используется Russian Apache, то сервер сам выдает нужное значение атрибута у оператора Content-type:
IRIS 55% telnet www.kiae.ru 80
Trying 144.206.192.11...
Connected to www.kiae.ru.
Escape character is '^]'.
HEAD /~paul HTTP/1.0
HTTP/1.1 301 Moved Permanently
Date: Fri, 08 May 1998 23:18:13 GMT
Server: Apache/1.2.5 rus/PL22.2
Location: http://www.kiae.ru/~paul/
Connection: close
Content-Type: text/html; charset=windows-1251
Vary: accept-charset, user-agent
Connection closed by foreign host.
Как видно из этого примера, сервер выдал кодовую страницу умолчания windows-1251. Мы в telnet не задавали тип клиента. Если задать тип клиента как клиент X11, то результат будет несколько иным:
| Location: | http://www.kiae.ru/~paul/http/charset.html |
| File MIME Type: | text/html |
| Source: | Currently in disk cache |
| Local cache file: | MV6GULJ9.HTM |
| Last Modified: | Unknown |
| Last Modified: | Unknown |
| Content Length: | 121 |
| Expires: | No date given |
| Charset: | koi8-r |
| Security: | This is an insecure document that is not encrypted and offers no security protection. |