home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magazyn WWW 1998 October
/
www_10_1998.iso
/
info
/
ogonki
/
myszka.txt
< prev
next >
Wrap
Internet Message Format
|
1998-09-09
|
9KB
Date: Mon, 19 Aug 1996 21:06:34 +0200
From: Wojciech Myszka <myszka@norka.immt.pwr.wroc.pl>
1. Jest bardzo wiele standard≤w kodowania znak≤w w komputerach pracu-
j▒cych w Internecie (inaczej ma DOS, inaczej Windows, MAC, Amiga
i Unix).
2. Zasad▒ u┐ywan▒ podczas przesy│ania poczty elektronicznej powinno
byµ, ┐e pisana jest przy u┐yciu narzΩdzi i zestawu font≤w dostΩpnych
lokalnie.
3. Aby taka przesy│ka mog│a byµ odebrana poprawnie u odbiorcy, trzeba
zapewniµ dwie rzeczy:
+ wszystkie znaki przejd▒ niezniekszta│cone przez system poczty,
+ odbiorca znajdzie w nag│≤wkach przesy│ki informacjΩ o sposobie
jej zakodowania (┐eby wiedzia│ jakich przestawie± ma dokonywaµ).
4. Do osi▒gniΩcia tego celu w Internecie obmy╢lono standard MIME. Po-
zwala on:
+ na przesy│anie znak≤w narodowych (czytaj o "niezerowym ≤smym
bicie") kana│ami poczty elektronicznej zgodnymi z SMTP;
+ na przesy│anie dowolnej przesy│ki zawieraj▒cej dane "nietekstowe";
+ zdefiniowanie typu przesy│anej wiadomo╢ci (zawarto╢ci przesy│ki)
- daje to mo┐liwo╢µ automatycznego uruchamiania odpowiedniej
aplikacji u odbiorcy w celu jej odczytania".
5. Zasady u┐ycia MIME w poczcie okre╢laj▒ RFC 1521 "MIME (Multipur-
pose Internet Mail Extensions) Part One: Mechanisms for Specifying
and Describing the Format of Internet Message Bodies".
RFC 1521 definiuje format wiadomo╢ci (zasadniczo zgodny z RFC 822
czy precyzyjniej m≤wi▒c nie naruszaj▒cy RFC 822, ale rozszerzony o
nowe nag│≤wki), sposoby kodowania informacji (BASE64 i Quoted-
Printable) oraz spos≤b okre╢lania zawarto╢ci przesy│ki. Definiuje
r≤wnie┐ zestaw podstawowych typ≤w (Image, Audio, Video).
W rozdziale 7.1.1 definiuje zestawy znak≤w, kt≤re mog▒ byµ u┐ywane
w przesy│kach MIME. S▒ to: us-ascii i iso-8859-x (0 < x < 10).
Mo┐na powiedzieµ, ┐e ten dokument jest ju┐ stary, ale najnowsza jego
"wersja" (czy og≤lniej draft rfc, kt≤ry opisuje pocztΩ
elektroniczna) - stanowisko to podtrzymuje. Mo┐na znale╝µ go
szukaj▒c pliku o nazwie draft-ietf-822ext-mime-hdrs-00.txt
Oba powy┐ej cytowane dokumenty w identyczny spos≤b formu│uj▒ kwe-
stiΩ u┐ywanych zestaw≤w znak≤w (cytuj▒ za draftem"):
Beyond US-ASCII, an enormous proliferation of character
sets is possible. It is the opinion of the IETF working group
that a large number of character sets is NOT a good thing.
We would prefer to specify a SINGLE character set that can
be used universally for representing all of the world's
languages in Internet mail. Unfortunately, existing practice in
several communities seems to point to the continued use of
multiple character sets in the near future. For this reason, we
define names for a small number of character sets for which
a strong constituent base exists.
The defined charset values are:
(1) US-ASCII - as defined in ANSI X3.4-1986 [US-ASCII].
(2) ISO-8859-X - where "X" is to be replaced, as necessary,
for the parts of ISO-8859 [ISO-8859]. Note that the
ISO 646 character sets have deliberately been omitted
in favor of their 8859 replacements, which are the
designated character sets for Internet mail. As of
the publication of this document, the legitimate values
for "X" are the digits 1 through 9.
All of these character sets are used as pure 7bit or 8bit sets
without any shift or escape functions. The meaning of shift
and escape sequences in these character sets is not defined.
The character sets specified above are the ones that were
relatively uncontroversial during the drafting of MIME. This
document does not endorse the use of any particular cha-
racter set other than US-ASCII, and recognizes that the fu-
ture evolution of world character sets remains unclear. It is
expected that in the future, additional character sets will be
registered for use in MIME.
Note that the character set used, if anything other than US-
ASCII, must always be explicitly specified in the Content-Type
field.
No other character set name may be used in Internet mail
without the publication of a formal specification and its
registration with IANA, or by private agreement, in which case
the character set name must begin with "X-".
Implementors are discouraged from defining new character
sets unless absolutely necessary.
(Zwracam uwagΩ na pierwszy i ostatni ustΩp cytatu: autorzy normy
sugeruj▒ ┐ebu nie mno┐yµ byt≤w nad miarΩ :-))
6. W przypadku WWW sprawa jest nieco bardziej skomplikowana. Chyba
┐aden z obowi▒zuj▒cych dokument≤w nie pisze nic na temat zestawu
znak≤w u┐ywanych przez protok≤│ http (poza iso-8859-1 i us-ascii).
W bardzo wielu miejscach znajduj▒ siΩ tam natomiast odwo│ania do
standardu MIME (przy okre╢laniu typu przesy│anego pliku na przy-
k│ad). St▒d, wydaje siΩ, ┐e mo┐na ekstrapolowaµ wszystkie zasady
MIME.
I rzeczywi╢cie w tym kierunku idzie draft opisuj▒cy wersje HTTP/1.1
(Dokument zatytu│owany Hypertext Transfer Protocol - HTTP/1.1
mo┐na znale╝µ w wielu archiwach poszukuj▒c pliku o nazwie
draft-ietf-http-v11-spec-05).
Wsp≤│zale┐no╢ci i r≤┐nice pomiΩdzy RFC 1521 a standardem HTTP
opisane s▒ w rozdziale 19.4 cytowanego dokumentu.
Dokument bardzo wyra╝nie wypowiada siΩ na temat kwestii u┐ywanych
zestaw≤w znak≤w (rozdzia│ 3.4):
Although HTTP allows an arbitrary token to be used as a
charset value, any token that has a predefined value within
the IANA Character Set registry MUST represent the
character set defined by that registry. Applications SHOULD
limit their use of character sets to those defined by the IANA
registry.
Czy (rozdzia│ 3.7.1):
The "charset" parameter is used with some media types to
define the character set (section 3.4) of the data. When no
explicit charset parameter is provided by the sender, media
subtypes of the "text" type are defined to have a default
charset value of "ISO-8859-1" when received via HTTP. Data in
character sets other than "ISO-8859-1" or its subsets MUST
be labeled with an appropriate charset value.
I wreszcie w rozdziale 19.8.1:
The following names should be added to the IANA character
set registry under the category "Preferred MIME name" and
this section deleted.
"US-ASCII"
| "ISO-8859-1" | "ISO-8859-2" | "ISO-8859-3"
| "ISO-8859-4" | "ISO-8859-5" | "ISO-8859-6"
| "ISO-8859-7" | "ISO-8859-8" | "ISO-8859-9"
| "ISO-2022-JP" | "ISO-2022-JP-2" | "ISO-2022-KR"
| "SHIFT_JIS" | "EUC-KR" | "GB2312" | "BIG5" | "KOI8-R"
Definiuje on zestawy "preferowanych znak≤w MIME" przy czym ta
informacja ma byµ wpisana do "IANA character set registry", a wiΩc
jej znaczenie bΩdzie szersze ni┐ tylko dla HTTP.
7. Najgorzej jest chyba w przypadku NNTP (news≤w). RFC opisuj▒cy jest
tak stary, ┐e nawi▒zuje jedynie do RFC 822, z tym tylko, ┐e dopusz-
cza przesy│anie informacji "binarnych"... Ekstrapoluj▒c jednak dalsz▒
ewolucjΩ rfc822, sprawa wydaje siΩ oczywista - nale┐y u┐yµ MIME.
Na koniec wreszcie (poza sprawami formalo-prawnymi je┐eli tylko do-
kumenty RFC - lub ich projekty - mo┐na nazwaµ prawem) pozostaj▒ kwestie
czysto techniczne.
Ot≤┐ wydaje mi siΩ, ┐e z technicznego punktu widzenia, spraw▒ zasadni-
cz▒ jest umieszczanie w standardowy spos≤b w "nag│≤wkach" przesy│anych
dokument≤w informacji o u┐ytym zestawie znak≤w i typie przesy│ki. Tylko
bowiem takie postΩpowanie daje odbiorcy sznsΩ na automatyczne przekodo-
wanie otrzymanago dokumentu do lokalnego standardu wy╢wietlania i wyb≤r
najlepszej aplikacji do jej obejrzenia.
Na koniec wreszcie pragnΩ wyraziµ przekonanie, ┐e firma Microsoft buduje
oprogramowanie, kt≤re stara siΩ byµ zgodne z obowi▒zuj▒cymi standardami
(w tym i MIME). A jedno co jej w tym przeszkadza to brak czasu i ograni-
czone zasoby (┐e zacytujΩ wypowied╝ z FAQ grupy comp.mail.mime - pytanie
1.3.11 "Does Microsoft Mail support MIME?"):
All current Microsoft Internet connectivity products are MIME
compliant, although somewhat eccentric in their behavior. Oddly
enough, the eccentric behavior is not because of Microsoft's
alleged goal to dominate the Internet with quasi-
proprietary protocols, nor is it out of ignorance. It's just a
matter of finite resources and tight delivery
schedules. Surprise.
(Carl S. Gutekunst <csg@clavinova.eng.sun.com> 20-Feb-1996)