kei615ykhm’s programming learning blog

プログラミングを0から学んでいる学生の備忘録

【学びの記録】Webの仕組みを抑えるための知識 - HTTP/HTTPS編

Keiです。

 

今回は、HTTP/HTTPS編の言語化をやっていきます。

ちなみにかなりざっくり書いてますので間違いや抜け情報があるのは許してください。

*細かいところまで全部網羅するのは、今は無理でした。

 

 

HTTP通信

HTTP(HyperText Transfer Protocol)はWebクライアントであるブラウザ(Google等)とWebサーバー間で行われるデータのやり取りルールのこと。

ハイパーテキストを転送するためのプロトコルである。

 

リクエストとレスポンス

Webクライアントは、HTTPというルールに従ってWebサーバーにデータをリクエストする。

Webサーバーは、Webクライアントへリクエストされたデータ(HTMLファイルや画像など)をレスポンスする。

HTTPHeaderとデータ本体(ボディ)のふたつに情報が分かれていて、これらはリクエストとレスポンスどちらでも行われている。

 

HTTPヘッダー

リクエストのヘッダー:

Webブラウザ側でサポートするタイプのデータ、データの圧縮方法、ブラウザの種類など、Webサーバーに送るためのデータが格納

 

レスポンスのヘッダー:

サーバーの種類、返信するデータのタイプ、データの圧縮方法などのデータが格納

 

ボディ

リクエストのボディ:

Webサーバーに送るためのデータが格納

Webページ上の入力欄にテキスト情報がある場合はその情報をWebサーバーに送る

 

レスポンスのボディ:

HTMLや画像ファイル、動画ファイルなどのデータを格納

 

メソッド

クライアントが行いたい処理をサーバーに伝える

GET:URIのヘッダーデータとボディーデータを取得する

POST:URIにリソースを追加する

PUT:URIの内容を作成、更新する

DELETE:URIの内容を削除する

HEAD:URIのヘッダーデータを取得する

OPTIONS:URIに対して利用できるメソッド一覧を取得する

 

URIUniform Resource Identifier)とは、インターネット上のデータやサービス、機器などの所在情報を識別する書き方(ルール)の総称

URLはこのURIで定められたルールで書かれたり使われたりしている

 

 

HTTPSという暗号化プロトコル

HTTP over SSL/TLSの略称で、HTTP通信をより安全に行うためのプロトコル

 

SSL/TLS

SSL:Secure Sockets Layer

TLS:Transport Layer Security

これらは暗号化通信やサイト運営元の確認ができる

 

例えば、ドメイン認証SSLという低コストなセキュリティ強化システムや、企業実在認証SSLという個人情報に関わるものを暗号化して公式サイトのセキュリティを強化できる

 

まとめ:HTTPとHTTPSの違い

HTTPは、送信される情報が暗号化されておらず、第三者による盗聴や攻撃を受ける危険があるもの

HTTPSは、送信される情報が暗号化されているため、安全