見出し画像

Webを支える技術

今回はWebについての参考書「Webを支える技術」のレビューをしていこうと思います。


手に取った理由

私はエンジニアに転職をしようと決めたときに、特にWebサービスを作るWebエンジニアになりたいと思いました。そのため、プログラミングスキルだけでなく、Web上のサービスはどのようにできているのかという仕組みを学びたいと思い今回の書籍を選びました。
「Webエンジニア 技術書」と検索したら間違いなく出てくると思いますので、自分と同じように考えている人には必読書ではないかと思います。

書籍の内容

本書籍では、以下のことを学ぶことができます。

  • Webの成り立ち

  • URIとは

  • HTTPとは

  • ハイパーメディアフォーマットについて

  • Webサービス設計の考え方

Webの成り立ち

Webとは何か、Webがどんな場面で活用されているかが説明されています。誰もが聞いたことがある「Web」という言葉の意味を一からしっかりと考え直すきっかけになると思います。
また、Webがどのように発展してきたかも説明されています。現代の技術を知る上で直接関係はないかもしれませんが、Webがどのような技術の上に成り立っているのかを知る上では、これまでの変遷を理解するとより納得できるかもしれません。

URIについて

Webの仕組みの重要なもののひとつであるURIの解説がしてあります。
URIはどのような仕様になっているのか、そしてURIを実際に設計するときに気を付けることや意識することなどを学ぶことができます。

HTTPについて

HTTPについてTCP/IPの基本と合わせて説明されています。自分は本章を読んでいて一番面白かったです。Webを利用する際にどのようにして情報を読み込んで表示しているのか、たまにみる「404 not found」とは何か、などよく理解できると思います。
簡単に紹介すると、Webの仕様はクライアントとサーバーのやり取りで行われます。そのやり取りは決まったルールがあるのですが、それがHTTPです。
HTTPで行われるやり取りの内容の中には、

  • HTTPメソッド(何をしたいか)

  • ステータスコード(リクエストに対するリアクション)

  • HTTPヘッダ(なんのやり取りを行いたいのかを示す情報)

などの重要な仕組み(仕様)があります。
それらのルールや仕組みがHTTPです。これらの理解が有る無いではWebの見方が全く異なると思います。自分は180度変わったといっても過言ではありません。

ハイパーメディアフォーマットについて

ここでは、HTML、microformats、Atom、Atom Publishing Protocol、JSONについて解説されています。
まずHTMLについては、必読でしょう。HTML、XMLの基礎知識、HTMLの構成要素、リンクについてなどを学ぶことができます。
また、JavaScriptを書いているとよく耳にするJSONに関しても、その仕様やJSONPによるクロスドメインなども解説されています。
ただ、自分は本書籍を読み終えたものの、microformats、Atom、Atom Publishing Protocolに関してはほとんど理解できていません。今後に上記の2つに触れる機会があったときにもう少し具体的に勉強しようと思います。
Webを利用する際に様々なタイプのデータがどのようなフォーマットが利用されていて、それぞれがどのような仕様なのかをここで学ぶことができるでしょう。

Webサービスの設計について

では実際にWebサービスを作る際にはどのようなことを意識していけばよいのか、ここではそれらが解説されています。ここでは、具体的に郵便番号検索サービスの例を用いて解説されています。
一つは読み取り専用のサービス、もう一つは書き込み可能なサービスの2つの例があります。一つ目のサービスについては、リソース設計をもとに、用意するリソース、リソースにつけるURI、リンクやフォームによるリソースの結び付け、エラー検討など実際に開発の流れと同じように考えて読むことができます。二つ目の書き込み可能なサービスについては、CRUD機能に加えて、実際に起こりうる状況を考えてどのように処理するかが開設されています。開発の際にどのようなことを意識して設計するとよいのかを学ぶことができます。


感想

本書籍は(コードの参考書以外で)初めて手に取った参考書だったので、最初は何の話について書いてあるのかほぼ理解できませんでした。実際にコードを書いて開発をしながら得た知識や、他の参考書を読んだときに、ふと「ん?あの本に似たようなこと書いてあったな。」と思ったときに読み返してみたりと、ゆっくり読んでいきました。読んで内容が徐々にわかってくるとまさにWebに隠れている多くの技術の理解につながり、とても参考になりました。気になる方がいたらとてもお勧めできる良本だと思います。

何かの参考になれば幸いです。最後までご愛読ありがとうございました。


いいなと思ったら応援しよう!