2010年07月31日

HTTPSの「S」は何の略か

HTTPSの、「HTTP」はHypertext Transfer Protocolだとして、「S」は何の略だろうか、ということを調べようとして混乱する。



辞書サイトの表記

e-Words → Hypertext Transfer Protocol Security
http://e-words.jp/w/HTTPS.html

@ITセキュリティ用語辞典 → Hyper Text Transfer Protocol over SSL
http://www.atmarkit.co.jp/aig/02security/https.html

英語版Wikipedia → Hypertext Transfer Protocol Secure
http://en.wikipedia.org/wiki/HTTP_Secure

日本語版Wikipedia → Hypertext Transfer Protocol over Secure Socket Layer
http://ja.wikipedia.org/wiki/HTTPS



@ITと日本語版WikipediaはSSLを略してない差だけだから同じと思って良いけど、いろんなとこでバラバラな表記が見られる。

RFCでいくと、RFC2818(HTTP over TLS)が対応する仕様になる。SSLとTLSは兄弟みたいなものだから、HTTP over SSL/TLSと書く場合もある。

HTTPSが生まれた時点ではTLSはなかったから、当時のHTTPSはHTTP over SSLだった。RFC2818にもAbstractにこんな風に書かれている。

Current practice is to layer HTTP over SSL (the predecessor to TLS)
一般的な慣行としてはHTTP over SSL(TLSの前身)

というわけで、過去においてSSLは確かに「Hypertext Transfer Protocol over Secure Socket Layer」だったと言って良いだろう。

しかしそもそもHTTPSはNetscape社が作り出した独自規格で正式名称だったわけでもなく、現在はHTTP over TLSになってしまっているので、略語としては少し厳しい。また、技術系の記事についてはそれなりに信頼度が高い英語版Wikipediaが「HTTP Secure」になってるのが気になる。

もう少し信頼性のあるソースはないものか。

考えてみると、HTTPSはスキーム名なのか、それともプロトコルなのか。スキームとして考えるならIANAおばさんに聞けば絶対じゃないか。

というわけで聞いてみたところ、ぶっきらぼうに「HTTPSはHypertext Transfer Protocol Secureの略だよ」と教えてくれた。

http://www.iana.org/assignments/uri-schemes.html

IANAおばさんがそう言うなら、少なくともスキーム名としては「Hypertext Transfer Protocol Secure」が正しいと思うしかない。

慣習的には「HTTP over SSL」という言葉が使われているというのも1つの正解だし、IANAに登録された際には「HTTP Secure」という言葉が利用されておりそれを使うのも正しいということになる。


となると「HTTP Secure」の方を使いたいと思うのが人情だけど、それが本当に一般的な言葉か確認するためにブラウザを作っている企業にも聞いてみよう。

Opera : Hypertext Transfer Protocol Secure(HTTPS encryption)
http://jp.opera.com/docs/specs/presto211/security/#https

Google : HTTPS (Hypertext Transfer Protocol Secure)
http://mail.google.com/support/bin/answer.py?hl=jp&answer=74765

Apple : Hypertext Transfer Protocol Secure (HTTPS)
http://itunes.apple.com/us/app/ultipro/id362846785?mt=8

MS : Hypertext Transfer Protocol Secure (HTTPS)
http://office.microsoft.com/ja-jp/frontpage-help/HP001038137.aspx

よし、ここまで出てくるなら大丈夫だろう。というわけで、今後は「HTTPS = Hypertext Transfer Protocl Secure」であると考えることにします。



余談

でもe-WordsはSecureじゃなくて「Hypertext Transfer Protocol Security」になってる。これの出所はどこだろう。

検索してみると、厚生労働相のページにそんな記述を見かけた。

HTTPS:Hypertext Transfer Protocol Security
http://www.ebid.mhlw.go.jp/dounyu/index.html

「hl=en」でGoogle検索しても日本語のページばっか引っかかるので、どうも日本では「Hypertext Transfer Protocol Security」という名前で広まった時期とかがあったように見受けられる。由来もあるのではないかと探してみたけど、見つけられなかった。

ちなみにフレッツ光の用語辞典も「Hypertext Transfer Protocol Security」
http://flets.com/first/jiten/alphabet.html

あと、日本語版Wikipediaの記事は「HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) は、URIスキームのひとつ」となってるけど、スキーム名としてHTTPSを取り扱うなら確実に「Hypertext Transfer Protocol Secure」としなきゃいかんよね。