見出し画像

読書メモ 『この一冊で全部わかるWeb技術の基本』

読んだキッカケ

デジタル部門に配属になり、「簡単なIT用語についてなんとなく理解しているつもりだけど説明できるレベルではないな」と思ってWeb用語を一通り勉強しようと思って購入。

読んだのは入社したてだったので大変意識が高く、ほとんどの単語の意味を追加で調べて辞書的なものまで作ってしまった。
普段使わない単語はすぐ忘れてしまうので、たまに復習していければと思う。

本のサマリ

タイトル:イラスト図解式 この一冊で全部わかるWeb技術の基本
著者:小林 恭平、坂本 陽
単行本:192ページ
出版社:SBクリエイティブ
発売日: 2017/3/16

ひとつの用語を見開きで解説する形式。
URL、ドメイン、Web API、SSL、セッションなど、Webに関する基礎的な用語から、初心者には初めましての単語まで幅広く網羅されている。
ほとんどWebの知識がなかった私にはちょうど良い難易度で、今後も用語のリファレンスとしても使えそう。

今回学んだ単語

Web
文書の公開・閲覧のためのシステム。正式名称はWorld Wide Web。Web上の文書はハイパーテキストと呼ばれる言語で構成され、一つのWebページの中に別のWebページへの参照(ハイパーリンク)を埋め込むことで、全体として大きな情報の集合体が作られている。

●インターネット
コンピュータ同士をネットワークでつなぐ仕組み。

●API
アプリケーションプログラミングインターフェース。ソフトウェア同士のやり取りを橋渡しする仕組み。

●HTTP
ハイパーテキストトランスファープロトコル。ハイパーテキスト(HTMLのようなテキストファイルや画像のようなコンテンツデータなど)をやり取りするために使われるプロトコル。

●プロトコル
ネットワークに接続された機器同士が通信をするときに、あらかじめ決められた共通のルールや手順。お互いに同じプロトコルを利用することにより、データのやり取りが可能になる。

●HTTPメッセージ
HTTPにおいて、WebブラウザとWebサーバーでやり取りする際に利用されるデータ形式。HTTPメッセージを利用することで、Webブラウザがどういったデータを欲しいのかという要求(HTTPリクエスト)をWebサーバーに伝え、またWebサーバーもHTTPメッセージを利用してWebブラウザの要求に対する応答(HTTPレスポンス)を返すことができる。

●TCP/IP
インターネットにおける様々なサービスを実現するためのプロトコルの集まり。TCP/IPは役割ごとに階層化されており、httpもTCP/IPにおけるアプリケーション同士のやり取りを行う層のプロトコルの中に含まれている。

●DNS
ドメインネームシステム。ドメインをIPアドレスへと変換する仕組み。

●CGI
WebサーバーがWebブラウザからの要求に応じてプログラムを起動させるための仕組み。

●セマンティックWeb
Webページの情報に意味を付け加えたもの。テキストが表しているものが人名なのか場所なのかという情報を持たせ、機械検索の精度を高める。

●マイクロフォーマット
HTMLやXHTMLで記述されたWebページの中に意味を表現する記述を埋め込むための書式。埋め込まれた情報は外部のコンピュータから読み込んで利用することができ、これを有効利用することでセマンティックWebを実現できる。

●ステータスコード
HTTPレスポンス内に含まれるHTTPリクエストに対するWebサーバー内での処理結果。100番台/200番台/300番台/400番台/500番台の5つに分類される。

●HTTPS
HTTP over SSL/TLSの略。HTTPの通信において、暗号化方式であるSSLやTLSを利用することでWebサイトを安全に使うことができる。

●SSLサーバー証明書
Webサーバーに配置された電子証明書。Webサイトを運営する会社の身元を確認できる。SSLサーバー証明書は発行を認められた認証局による運営元の認証作業を通過する必要があり、信頼できない発行元のSSLサーバー証明書が利用されている場合はWebブラウザ上に警告画面が表示される。

●Cookie
Webサーバーへ接続してきたWebブラウザに対して、コンテンツなどと一緒にWebブラウザに保存してもらいたい情報。WebブラウザがCookieを保存しておくと、次にWebサーバーに接続する際に保存しておいたCookieを送信することで、Webサーバーは接続してきた相手を識別することができる。

●セッションCookie
有効期限が設定されていないCookie。Webブラウザが閉じられると同時にCookieは削除される。CookieはWebブラウザの識別にも利用され、盗まれると他人になりすましされることがあるため、ショッピングサイトのように高いセキュリティが必要なサイトなどではセッションCookieがよく利用される。

●セッション
WebブラウザとWebサーバーのやり取りにおいて、一連の関連性のある処理の流れを指す。例えばショッピングサイトで商品を買うとき、「商品を選ぶ」「商品を買い物カゴに入れる」「買い物カゴの中身を確認する」「商品を購入する」といった処理の流れが1セッションとなる。

●DOM
Document Object Model。HTMLやXML文書を扱うための手法(API)。プログラムからHTMLやXMLの各要素を容易に参照・制御できる仕組み。

●コーデック
データを圧縮するためのソフトウェア。

●エンコード
データを圧縮すること。

●デコード
圧縮されたデータを再生するために伸張すること。

●プログレッシブダウンロード配信
音声や動画ファイルをダウンロードしながら再生する方法。Youtubeやニコニコ動画などの動画共有サービスに多く使われている。

●ストリーミング配信
音声や動画ファイルを細かく分割し、細切れにしたデータをユーザーに配信して再生する方法。再生したデータは都度削除されるので、著作権の問題が解消できる。ニコニコ生放送やAbemaTVはこの方法が使われている。

●メディアタイプ
Webサイト閲覧に使う機器の種類。HTMLやCSSに「このメディアタイプ(デバイスの種類)にはこの表示スタイルを適用する」という情報をあらかじめ含めておくことで、様々な機器に合わせてWebページのデザインを変更して表示できる。HTMLではlink要素のmedia属性を、CSSでは@mediaルールを使用する。

●クローリング
Webページのリンクを次々にたどることで別のWebページを収集していき、収集したWebページをデータベース化していくこと。

●スクレイピング
クローリングによって収集されたWebページを検索に用いるために、Webページの中身を解析してどのような情報が含まれているのかを抽出し、分析可能な形のデータの変換すること。

●MVCモデル
アプリケーションの構造の考え方のひとつ。Mは「Model」でアプリケーションの扱うデータと業務処理を指し、Vは「View」でユーザーへの出力処理を指し、Cは「Controller」で必要な処理をModelやViewに伝える役割を担う。MVCの各要素がアプリケーションの内部でそれぞれ独立して互いに連携して処理を行う構造。

●フレームワーク
Webシステムにおけるプログラムの動作には共通した流れがあり、その処理の流れをひな型として準備しておき、Webアプリケーションごとの独自の内容を開発者が埋めることでプログラムが開発できるようにしたもの。Javaをベースとした「Java EE」や「Struts」「Spring Boot」、PHPをベースとした「Cakes PHP」、Rubyをベースとした「Ruby on Rails」などが有名。

●冗長化
Webサービスのサーバーの台数を多くし、1台あたりの負荷を少なくするのとともに、1台が故障しても別のサーバーだけでサービスを続けられるようにする構成。

●CDN
世界各地に分散して配置されたキャッシュサーバーの集合体。リクエストに対し、アクセス元からネットワーク的に最も近いサーバーが対応することでより速いレスポンスが返せるようになる。

●XML
Extensible Markup Languageの略で、文章の見た目や構造を記述するためのマークアップ言語の一種。XMLはタグが自由に設定できて、データに意味を持たせることができる点でHTMLとは異なる。

●マッシュアップ
複数のWeb APIを利用して新たなWebサービスを生み出すこと。

●CGI
Webサーバーがクライアントからの要求に応じてサーバーサイドスクリプトを起動するための仕組み。

●情報セキュリティ
情報の「機密性」「完全性」「可用性」を維持すること。

●DoS攻撃
短時間にサーバーが処理しきれないような大量のアクセスを行うことでサービス停止に陥らせる攻撃。

●セキュリティホール
ソフトウェアの欠陥により、権限がないと本来できないはずの操作が権限を持たないユーザーにも実行できてしまったり、見えるべきでない情報が第三者にも見えてしまうような不具合。

●ゼロデイ攻撃
発見されたセキュリティホールに対する修正プログラムが開発される前に、そのセキュリティホールを利用した攻撃を仕掛けること。

●ファイアーウォール
インターネットと内部ネットワークの間に設置し、送受信されるデータを監視して通信の許可・拒否を行うもの。

●CAPTCHA

Webサービスの悪用を防ぐために考案された、人間とコンピュータを区別するためのテスト。

●ミドルウェア
OSとアプリケーションの中間に位置するプログラム。WebサーバーやAPサーバー、DBMSなどがこれにあたる。

●ロードバランサー
Webサーバーを冗長化する際、システムに届くリクエストをどのWebサーバーに渡すかを振り分ける作業を行うための機器。

オンプレミス
自社でサーバーを購入してシステムを構築する方法。

●Apache
Apache HTTP Server。世界中で最も多く使われているWebサーバーソフトウェアであり、大規模な商用サイトから自宅サーバーまで幅広く利用されている。

●モジュール
ハードウェアやソフトウェアを構成する個々の部品のこと。

ペネトレーションテスト
ネットワークに接続されているコンピュータシステムに対し、実際に既知の技術を用いて侵入を試みることで、システムに脆弱性がないかどうかテストする手法のこと。侵入実験または侵入テストとも言われる。

●プロキシ
プロキシサーバーとは、内部のネットワークとインターネットの境界で動作し、両者間のアクセスを代理して行うもの。ネットワーク内におけるインターネットの出入り口をプロキシサーバー経由に限定することで、通信内容を一括してプロキシサーバー側でチェックすることが可能となる。クライアントコンピュータは直接インターネットにつながることがなく、不正アクセスや侵入行為を防ぐことができセキュリティ向上目的で用いられる。

◇読後の疑問点
・TCP/IPとOSI参照モデルの違い
・DOMとは結局なんなのか
・Webの標準化
・メッセージヘッダーとは何か
・RSSとは何か
・メディアタイプとレスポンシブ対応の違い
・SSLサーバー証明書の価格
・セッションの定義の仕方

この記事が気に入ったらサポートをしてみませんか?