あなたはHTTP通信の説明が出来ますか?同期・非同期の仕組みを解説!
ブラウザとサーバの非同期通信って何?
この疑問はAjaxについて調べていて派生したものだ。転職面接でHTTP通信が得意と話しておきながら仕組みについての理解があやふやになっていたのだ。詳細は先日の日記を見ていただきたい。
そこで、この記事ではHTTP通信の仕組みについて解説する。
HTTP通信の仕組み
仕組みについて、おおざっぱなところから攻めていく。今回は次の2点について調査し解説する。
1.そもそも「ブラウザ」と「サーバ」はどんな通信してるのか
2.「非同期通信」について
では、さっそく一つ目の疑問を解説していこう。
「ブラウザ」と「サーバ」はどんな通信してるのか
サーバにHTMLファイル・javascriptファイル・CSSファイル・XMLファイルを置いてある。ブラウザはもらったデータを表示するだけだ。このデータの受け渡しの際に規約がある。
では二つ目の疑問の解説にいこう。
非同期通信について
これには同期通信の説明が必要だ。同期通信はこんな感じだ。絵にするとわかりやすかろう。
ブラウザとサーバの動き方がリンクしているのが見て取れる。まさしく同期している。処理としてはわかりやすい。決定などの確定ボタンを押せばがHTTP通信が始まる仕組みだ。しかし、いつもこの処理だと使い勝手が悪い。これには操作できない期間があるからだ。
続いて非同期通信だ。
確定ボタンを押さなくてもHTTP通信が始まったりする。それでも困ることはない。なぜならHTTP通信期間中でもブラウザを操作できるからだ。ちなみにサーバが処理している最中にも追加で処理を要求できる。
以上。おおざっぱなHTTP通信の解説でした。