基礎知識

基礎知識 第3回「HTTPとは!?」

2019年6月15日

HTTPって、何かやり取りしているってのは何となく分かったけど、その何かがよく分からない

 

HTTPはシステム開発で理解しなければならないものの1つで、これが分からないと開発はできません。

分かりやすくHTTPやCookieなどの機能を解説していきます。

Nanayaku

 

HTTP(Hypertext Transfer Protocol)とは

HTTPとは、ユーザーからサーバーへの要求とその要求に対するサーバーからの返答の2つのことです。

ユーザーがサーバーにURLを要求(検索など)をリクエストと言います。

このリクエストには形式があり、GET、POST、PUT、PATCH、DELETEの5種類があります。

クライアントのURLの要求に対してのサーバーの返答レスポンスと言います。

この返信の形式は、ユーザーの要求によって変わり、html、xml、jon、css、os、imageなどの種類があります。

HTTPは、リクエストとレスポンスがセットになっており、開発者はリクエスト・レスポンスの形式を自由に決められます。

ただし、1リクエスト・1レスポンスに対して1つの形式しか指定できず、前のHTTPの情報を保持できません。

この情報を保持できないことをステートレス(state less)と言います。

つまり、1つのリクエストとレスポンスは独立しており、ログイン状態を維持できません。

 

え、ログインできないんだったらYouTubeのチャンネル登録ってどうやってるの?

 

このステートレスを解決するのがCookie(クッキー)とSession(セッション)いう機能です。
Nanayaku

 

Cookie(クッキー)

Cookieとは、ユーザーのパソコンのブラウザ内にあるテキストフォルダのことです。

このフォルダ内には、URLやユーザーID・パスワード等が記録されてあり、一致したURLのリクエストに追加でデータを送信しています。

これにより、ログイン状態を維持できます。

しかし、Cookieにはセキュリティに問題があり、暗号化されていないデータをクライアント側のパソコンに保存しているため、そのデータを盗まれる可能性が高いです。

 

この問題を解決するのがSessionです。
Nanayaku

 

Session(セッション)

Sessionは、クライアントのパソコンではなく、ユーザー情報をサーバーに保存します。

ユーザー情報の保存場所をセッションIDで管理し、ユーザーはこのセッションIDを格納したCookieを受け取ります。

ユーザーは、リクエストにセッションIDを格納したクッキーを追加して送ります。

これにより、データを盗まれるリスクを下げられます。

 

HTTPメソッドについて

HTTPのメソッド(処理の内容)について説明します。

GET データの取得

例:URLの検索・データのダウンロードなど

POST データの作成(データ内容を隠して送信

例:入力フォームやユーザー登録など

PUT データの作成/置き換え

例:データのアップデート(前のデータは削除)

PATCH データの更新(一部のデータを変更)

例:パスワードの再設定など

DELETE データの削除

例:アカウントの削除や退会処理など

 

レスポンスで何を返すかちゃんと考えないと不具合が起きてしまうため、メソッドの選択は大切です。

開発中にエラーが発生したらこちらのサイトを参考にしてください。

HTTPのステータス番号(応答メッセージ)

Nanayaku

 

ルーティング

ルーティングとは、どこのURLにリクエストが来たとき、どこが処理して、何をレスポンスするか決めることです。

簡単に例えると、電車の分岐器の分岐が多いバージョンのようなものです。

ルーティングが正しく設定されていないと、データは行き場をなくしエラーになります。

 

最後に

なるほど、ユーザーとサーバーのやり取りがHTTPだったんですね。

 

そうだね。

HTTPにはデータを保持する機能がないため、cookieやsessionでログイン機能など実装しています。

この知識を理解していないと、実際にシステムを開発できません。

実際の開発やポートフォリオを作成するときは、ちゃんと復習しておきましょう。

Nanayaku

 

よし、もっと勉強してエンジニアになるぞー!

 

今は情報が集めやすいので、独学でもエンジニアを目指せますが、プログラミングスクールに通うほうが良いです。

実際に私もプログラミングスクールに通ってエンジニアになりました。

興味がある方は、こちらの記事をご覧ください。

【不安解消】食肉工場の会社員がtech boostの無料説明会を受けた感想

Nanayaku

 

 

-基礎知識
-,

© 2021 Nanayaku blog Powered by AFFINGER5