質問: ブラウザでhttp:またはhttps:で始まるURLを入力した場合、それはサーバーに対し、HTTP接続(HTTPプロトコル)での通信をするという事になり、それはつまり、トランスポート層ではTCP接続での通信をしているという事になりますよね? これは、逆もまた真という事になるのでしょうか? つまり、何かの機器とTCP接続で通信している場合は、アプリケーション層では必ずHTTP接続しているという事になるのでしょうか?
回答: こんにちは。 > > TCP接続しててもHTTP接続でない場合はあり得るのでしょうか? > > > ありえます。HTTPや HTTPSは、TCP接続を使用したプロトコルの一種(一部)です。TCP接続のうちで、HTTPは80番、HTTPSは443番を主に利用しています。 このほかのTCP接続には、主に25番を利用するSMTP(電子メール送信)、主に21番と20番を利用するFTP(ファイル送受信のひとつ)、主に23番を利用するTELNET(コンピュータ遠隔操作)などあります。 「コンピューターネットワーク」の世界は「OSI参照モデル」と呼ばれる複数のプロトコルの組み合わせで通信されます。次のページなどがよい参考になると思われます。 * エンジニアの入り口:リナックスアカデミー * ネットワークエンジニアとして * Wikipedia HTTPはアプリケーション層(レイヤー7)、HTTPSはhttpとSSL/TLS(プレゼンテーション層(レイヤー6)ともトランスポート層(レイヤー4)そのほか諸説あり)の組み合わせです。そして、TCPはトランスポート層(レイヤー4)のプロトコルです。 OSI参照モデルの考え方は、コンピューターに限らず、手紙や小包を誰かから誰かへ届ける場合など、社会の仕組みでも当てはまるところが面白いです。