質問: > > 「websocket」でぐぐれば解説がたくさん出てきます。 > > それを読めばこれは間違いということがわかると思います。 > > > y_waiwaiさんから指摘を受けたので、とりあえずwikiを読みました。 > > ハンドシェイクはHTTPの様であるが、厳密には異なる。サーバ側は最初HTTPの要求として解釈し、そして、WebSocketへと切り替える。 > > https://ja.wikipedia.org/wiki/WebSocket > > > ハンドシェイク時に限ってはhttp(s)通信。 ハンドシェイク以降はhttp通信ではなくなるので、最初の質問に戻って、 「websocketはアプリケーション層にあたりますか? トランスポート層のtcp/ipプロトコルに沿って、その上で、websocketの通信を行うということであっていますか?」 ということになりますでしょうか?
回答: 先の回答者様と同様の意見で恐縮ですが、「httpはガン無視ということで理解はあっていますよね? 」と言うことはなく、少なくともプロトコルの開始時に思いっ切りhttpを利用しています。 teratailでも過去に関連した質問があり、私が回答させていただいたものでこれも恐縮ですが、よろしければどうぞ。#99523 websocketとは ※補足しました。 質問者様が記述を補足されたので、回答もフォローさせていただきます。 > > 「websocketはアプリケーション層にあたりますか? > > トランスポート層のtcp/ipプロトコルに沿って、その上で、websocketの通信を行うということであっていますか?」 > > ということになりますでしょうか? > > > はい、アプリケーション層に相当しますね。**みんな大好きStack Overflow**で関連する質問がありましたので、参考にリンクを貼らせていただきます。 Which OSI layer does WebSocket Protocol lay on? OSI参照モデルではどこに相当するのか?と言う質問で、OSI参照モデルではそれに合致しないので、TCP/IP階層モデルで言及して、「アプリケーション層」と言うことで決着してます。