WEB ネットワーク 初心者向け

【コンピュータの名著】Web技術に関する入門書(お薦め3つ)

はじめに

将来的にWebエンジニアになりたくてブログ始めたんだよね。独自ドメイン取ってレンタルサーバ借りてWordPressインストールしたんだけど、SSLDNSの設定が難しく感じた。もうちょっとWebを支える技術について詳しくならないとダメかな?

 

Webエンジニアを目指すのなら知っておいて損はないですよ。いい本があるのでご紹介しますね。

この記事を読んで欲しい方

  • Webを支える技術について基礎知識を得たい方
  • 将来Webエンジニアを目指す方

Webを支える技術

まず1冊目。2010年に初版が発売された書籍なので2020年現在と少なからずギャップがあるものの、Webの歴史を知るための文献という意味では網羅性が高く良い本と思います。Webの歴史から始まり、REST、URI、HTTP、HTML、HTTPメソッド、ステータスコード(例:404 not found)などの基礎知識を1つ1つ解説し、最後にWebサービスやリソース設計について紹介する形で締めくくられます。

 

Webを代表とする分散システムで複数のソフトウェアがリソース(情報)を共有する場合の指針としてRESTがあります。RESTとはRepresentational State Transferの略語であり、以下のような特徴を持ちます。RESTにしっかり準拠しているとRESTfulと呼ばれます。

  • ステートレス。クライアントとサーバの間でセッションなどの状態を持たないこと。
  • キャッシュ。クライアントとサーバ間の通信を減らすために、クライアントが取得したデータを使いまわすこと。
  • 標準化されたコマンド体系。HTTPの場合、GET、POSTなど。
  • リソースを一意に決めるアドレスがある。URI、URLのこと。
  • ハイパーメディア。HTMLやXMLのように他のリソースへのハイパーリンクが可能。

 

著者の山本陽平氏が2004~2010年に書かれていたyohei-y:weblogというブログがあります。「Webを支える技術」を書かれるに至った経緯が感じられて面白いです。

 

  • 良い点。Webの歴史を詳しく知ることが出来る。HTTPコマンドやHTMLコードなどを具体的に示していて実践的。
  • 残念な点。コマンドやコードの生データが書かれているため、中級者にはありがたいが、初級者には理解しにくい。

Web技術の基本

続いて2冊目。2017年初版の比較的新しい本です。全体的に図が多く非常にわかりやすいので、初級者の方にお勧めします。逆に中級、上級の方は若干物足りなさを感じるかもしれません。

 

この本で一番お薦めは「Chapter6 Webのセキュリティと認証」です。イマドキの流行を押さえているので、サイバーセキュリティの基礎知識を得たい方はまずこれを読むと攻撃方法と防御方法の概要を知ることが出来ます。

 

基本的にキーワードと簡単な概要しか書かれていないので、これを読んだだけで分かった気になるとヤバイです。それぞれ技術の細かいところは別の本で補足すると良いでしょう。

 

  • 良い点。すごくわかりやすく、サラっと読める。
  • 残念な点。技術に関する踏み込みが浅く、この本だけでは実用的でない。基本情報処理試験の教科書みたい。

プロになるためのWeb技術入門

最後、3冊目。2010年初版なので古いハズなのですが、とてもバランスの良い本です。Perlなどで構築されたCGIからJavaによるアプリケーションサーバに移行する過渡期に作られたことがうかがえます。Java(サーブレット、JSP)でWebサービスを作りたい人は手元に置いておくと良いと思います。

 

イマドキはNginx(エンジンエックス)やClowdFlare(クラウドフレア)などの新しいサーバが出てきましたが、当時はWindowsならIIS(アイアイエス)、UNIX系ならApatche(アパッチ)の2択という雰囲気でした。ApatcheはJava言語と相性が良く、Apatcheソフトウェア財団はJakarta Projectというオープンソースソフトウェアの開発プロジェクトを持っていました。Javaの名称の由来であるジャワ島の都市ジャカルタがその名の由来です。Jakarta ProjectではWEBサーバだけでなく、Ant(単体試験ツール)、Tomcat(アプリケーションサーバ)、Struts(Webアプリフレームワーク)などが無償で供給されていました。2000年代前半、私を含む若手~中堅エンジニアたちは自由に自宅のLinuxサーバにWebサーバを構築して遊んだりしていたものです。

 

Apatcheライセンスは無料で使える反面デメリットが若干あります。Apatcheライセンスが付いているソフトウェアを自社ソフトウェアに組み込むと、特許を主張できなくなるというものです。これには諸説あるので必ずしも正しい表現ではないと思いますが、Androidの関連ソフトウェアにApatcheライセンスが付与されていて特許訴訟でいろいろ揉めたという記事は探すと出てきますので、詳細を知りたい方は調べてみてください。もしApatcheライセンスのソフトウェアを自社プログラムに組み込んで使いたい場合、大きい会社なら法務部と相談したり、中小企業なら知的財産権に関する知見をもった人にアドバイスを求めると安全です。

 

  • 良い点。図表が多くわかりやすく、さらに技術に対する踏み込みも程よくありバランスが良い。
  • 残念な点。あまりないが、強いていえば説明がJavaに偏っている。

 

まとめ

Web技術に関する入門書を3冊ご紹介しました。読み比べてみると似たようなことが書かれているので、正直好みで選べばよいと思います。

恐らく1冊読み切ると、Web技術に関する基礎概念がふわっと出来上がるので、それぞれのキーワードを深堀していくことをお薦めします。例えばHTTP、DNS、SSL、Java、サイバーセキュリティみたいな単語をヒントに色々調べると世界が広がると思います。

  • この記事を書いた人
  • 最新記事

ペイヴメント

【名前】ペイヴメント 【職業】技術系サラリーマン 【住まい】東京 【好きなもの】プログラミング全般、デジタルガジェット、レトロゲーム、ライフハック、文房具、読書、家庭菜園、バンド演奏、お酒 【自己紹介】奥さん・息子2人とお気楽に暮らしています。

-WEB, ネットワーク, 初心者向け

Copyright© ペイヴメントのエンジニア塾 , 2020 All Rights Reserved.