タナカのプログラミング

プログラミングについて

クッキーとセッションとAjax

f:id:tanagram18:20190921015713j:plain

こんにちは!タナカです。
この前通信についての記事を書きましたが、通信に関するクッキー、セッション、Ajaxについて書いていこうと思います。
 
 
クッキーとはクライアント側に作られるファイル。
Webサイト固有の値を保持できるローカルファイル。
例えばTwitterFacebook等でログインした場合、IDとパスワードを入力してログインするが、クッキーに保持できる。
Googleの広告や同一人物かどうかWebサーバー側で判断してる。

 

セッションとはWebサーバー側にあるセッションという名のメモリ。
通常、HTTPを使ったWebサーバーへの通信は一回で終わる、切れる。
先程、クッキーについて説明しましたが、クッキーの情報があったとして
Webサーバー側は同じID、パスワードを送っただけでは
さっきと同じ奴がアクセスしてきたなと判断ができません。
そこで発行されるのがセッションIDです。
 
あるサイトにログインした時、
セッションはセッションIDを返し、クッキーに入れます。
時間をあけてもう一度同じサイトにアクセスする時、
クッキーはWebサーバーにセッションIDを送ります。
そしてWebサーバー側が同じ奴がきたと判断して自動でログイン
してくれているという一連の流れでクッキーとセッションは動いている。
 
また、ログアウトしたらWebサーバーのセッションIDは削除されるが
Webサーバーのアクセスが集中した場合、メモリがいっぱいになってしまう為、
セッションはある期間が過ぎるとセッションの情報を削除する。

f:id:tanagram18:20190921232737p:plain

 
 
AjaxとはクライアントがWebサーバーにリクエストを送った時、
レスポンスの中にJavaScriptを返して以降自動でWebサーバーとやりとりをする。
 
例:Google Map。
 
昔は地図に矢印がついていてそれをクリックしてリクエストを送っていたが、
今はドラッグしたら勝手に出てくる。
JavaScriptを使って動的にWebサーバーとアクセスする仕組みで
ページも動的に変えてくれる。

f:id:tanagram18:20190921232910p:plain

 
とまあ説明はざっくりこんな感じです。
Ajaxの説明が足りない気がするので記事を添付!w

 

qiita.com

 

 
因みにクッキーと似たものでキャッシュがあるが、
キャッシュはユーザーが見たサイトの情報をブラウザに保存しておく仕組み。
主にユーザーのターゲティング広告に使われる。
キャッシュがあるお陰で同じサイトを閲覧した際、1回目に見た時よりも速く表示してくれる。ただ通信速度がどんどん速くなってきている今、キャッシュの有り難みを感じづらくなっている。
また、ブラウザでキャッシュの情報を持っている場合、優先的に表示され新しい内容が表示されないケースもある。
なので、うまく表示されない時は思いっきりキャッシュを消そう!!
wi-fiがあれば大丈夫!!
 
では