そーくのつれづれぶろぐ

web系エンジニアの勉強したことなど

【読書メモ】イラスト図解式 この一冊で全部わかるWeb技術の基本

イラスト図解式 この一冊で全部わかるWeb技術の基本

概要

所感

  • 思ったより知らない/抜けている情報があり読んで良かった...
  • ほどよく新しい概念も紹介されているし、IT未経験者にはとっつきやすい印象
  • 基本情報処理などの知識がなくてもざっくりwebの知識、概念がわかる
  • ただの基本説明だけでなく実用として使われている/使われていないが軽く書かれているのが印象的

動機

  • 会社にあった
  • 復習がてら読んでみようか

新しく得た内容

  • Webの設計思想

    • RESTful
      • 統一性インタフェース/アドレス可能性/接続性/ステートレス性
    • セマンティックWeb
      • Webページの情報に意味を付け加える
        • webページは簡単に言うとどんな内容を表すのか
  • HTTP/1.1おさらい

    • HTTPキープアライブ
      • 1webページで発生する複数リクエスト/レスポンスを同一のTCPコネクション内で行う
    • HTTPパイプライン
      • 1webページで発生する複数リクエストを並列に送る(前まではレスポンスが帰るまで他のリクエストは投げられなかった(直列だった))
  • HTTP/2と1.1との差分(改良点)

    • (HTTP2について)2015年5月に標準化
    • ストリームによる多重化
      • before : HTTPパイプラインで多重化(並列にリクエストを送る)してはいたが、不十分だった
        • リクエストが来た順番をレスポンスも準ずる必要があるため、最初のリクエストに対するレスポンスが大きい場合は後続のレスポンスはその処理を待たなければならない
      • after : TCPコネクション上に仮想的にストリームというさらなるコネクションの場を提供することで、before時の順番を守るということを考慮しなくてもよくなった→さらなる待ち時間の短縮
    • バイナリ形式
    • 1.1まではすべてのデータはテキスト形式である必要があったが、バイナリデータのまま送れるようになった
    • ヘッダー圧縮
    • HPACKという、前回のヘッダ情報の差分のみを送る方法でヘッダ自体を圧縮する
    • サーバプッシュ
      • webページに複数の画像などの、従来でいう複数のリクエストが必要なwebページに対し、一番最初のリクエストが来た時点でサーバ側がwebページに必要なレスポンスを返すよう動く仕組み
  • HTTPSSSL/TLSハンドシェイクの流れ

    • 暗号化方式は多数に渡るため、実際の暗号化通信を行う前に両者で取り決めを行う
    1. クライント/サーバ間で暗号化方式の決定
    2. 通信相手(サーバ)の証明
    3. 鍵の交換
    4. 暗号化方式の最終確認
 ```

 - CDN (Contents Delivery Network)
   - コンテンツキャッシュサーバの集合体. エンドユーザからみると一つのキャッシュサーバに見えるようになっている。実際はアクセス元に最も近いキャッシュサーバが採択され、必要に応じて応答を行う

 - スマホアプリは大きくは2種類
   1. WebViewアプリ
     - スマホのブラウザを介してアプリの表示を行う
   2. ネイティブアプリ
     - スマホのブラウザ等は介さず、viewに関する部分はアプリ内部で処理を行い生成し、データの処理などはweb APIを通してやり取りを行うタイプ

 - ”情報セキュリティ”とは下記を3点を維持すること
    1. 機密性
    2. 完全性
    3. 可用性

 - 脆弱性おさらい
   - パスワードクラッキング ... 当たりをつけたパスワードでログインを試み、ID/PASS情報を入手する攻撃
     - ex) **ブルートフォース攻撃** ... ランダムな可能性のある文字を片っ端から試す方法