ステートレス/ステートフル
- 2016.06.29
- Webサイト

こんにちは
今日6/29は、、、、、、
そう、肉の日ですね!
今日帰りに肉を食べに行こうかとおもっています、ヤマです。
ステートレス/ステートフル
みなさん聞いたことありますか。
ネットワークで良く聞かれるワードですね。
ステートレス
そのままの意味です、状態を保持していない通信のことを指します。
通信は常に「初めて」の状態で行なわれます。
ですので、通信が非常に冗長になります。(たぶん)
ステートフル
状態を保持した通信のことを指します。
通信は以前の状態の「続き」からできます。
サーバはクライアントとの通信の状態を保持していますので、簡潔な通信になりますね。
正直、これだけではなかなか理解できないと思いますが、
非常に面白く表現しているブログを発見しました。
http://yohei-y.blogspot.jp/2007/10/blog-post.html
普段の会話の中で、
ステートレスな人が居たら、イラッとしますね!笑
ところで、
HTTP通信は、リクエストとレスポンスで成り立っているから「ステートレス」?
プロトコルに関してだけ言えば、「ステートレス」と言えそうです。
でもセッションとかもあると、状態はある意味で保持されますね。
そうするとステートフルになるんですかね?
なぜこの話題を出したかというと、
さきほど、AWSのVPCを構築するにあたって、
SecurityGroup(セキュリティグループ)はステートフル
NetworkACL(ネットワークACL)はステートレス
というのを改めて確認したので、
自分自身も、もう一度おさらいしていました。
ちなみに
SecurityGroup(セキュリティグループ)はステートフルなので、
通信の戻りに関しては常に許可されます。
主にインスタンスに対してのファイアウォール設定に利用。
NetworkACL(ネットワークACL)はステートレスなので、
通信の戻りに関しても明示的に許可する必要があります。
主にサブネットに対してのファイアウォール設定に利用。(インスタンスより上位)
という感じになっていますので、ご注意を。