「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか
- 技術評論社 (2010年4月10日発売)
- Amazon.co.jp ・本 (288ページ)
- / ISBN・EAN: 9784774142357
作品紹介・あらすじ
Webアプリケーション開発の「基礎の基礎」をしっかり学べる入門書。通信技術とソフトウェア開発技術の両面から、Webシステムのしくみをひとつひとつ確実に解説。
感想・レビュー・書評
-
設計から実装担当に作業が
変わる予定だったので、おさらいのために買おうとしたら、自社の蔵書棚で
埃をかぶってる!!
(オイオイオイ!!っと怒りながら涎を垂らしてる不審者)
ひっそりと持ち帰り、正月
居間で寝そべり読みました。
webアプリケーションに必要な技術が生まれ、その穴を埋めるために別の技術が生まれて良い部分を組み合わせて今のスタンダード(ちょっと古くなってますが)が作られてきた経緯の説明がざっくりとはわかりました。
復習するにはちょうど良かったです。
技術面も古くなってる部分が、実は現場では現役だったりして、ドンピシャでした。
詳細をみるコメント0件をすべて表示 -
Webサイト:公開されたコンテンツを受動的に閲覧する
Webアプリ:能動的に利用する
■webの誕生
研究成果を共有したい→HTMLで研究成果を表現しよう:ハイパーテキストという仕組みで共有=www→WebブラウザMosaicが誕生し、文字と画像を混在させて表示可能に
■クライアント・サーバモデル
クライアント→リクエスト→サーバ
クライアント←レスポンス←サーバ
Q.なぜ役割を分けるか?
不特定多数の人に公開するには、コンテンツは一箇所にまとめたほうが管理は楽:サーバ
→コンテンツを保管しているWebサーバを利用者が直接操作するのは非現実的
→利用者の手元にあるPCをWebクライアントとして利用可能にし、遠隔地にあるWebサーバWebクライアントの間をインターネット接続する
→WWWが実現
→クライアントとサーバに役割を分けることは必然
多くの人に閲覧してもらうために、新しいコンテンツを常に提供したいという思いから、
静的なコンテンツ→動的なコンテンツへ
動的なコンテンツを生成して、Webクライアントに渡すには、Webサーバとコンテンツを生成するプログラムとの連携が必要
→CGI誕生:Webサーバとプログラムの間でリクエストとレスポンスをやりとりするための規約
Webブラウザからリクエストが届くたびに、CGIを通してプロセスを起動していたため、アクセスが増えると、画面がなかなか表示されない問題が発生
→Java誕生:CGIの問題点を補う、サーブレット機能により、Webアプリケーションの開発が可能に。また、オブジェクト指向の機能をフルサポートしているため、大規模システム開発しやすいという、メリットや、特定のOSやハードウェアに依存せずに動作する(JavaVM)というメリットがある。
サーブレット:Javaコードの中にHTMLを埋め込む
JSP:HTMLの中にJavaコードを埋めこむ
■HTTP
TCP/IP:ブラウザなどから受け取ったHTTPリクエストなどの情報を、パケットに分割して送信し、受け取った側で元のように組み立ててから、受け手となるWebサーバなどのアプリケーションに渡す
IPアドレス:世界中で一意の値になる必要があるため、ISPインターネットサービスプロバイダが、まとまった数のIPアドレスを確保し、ユーザに一時的に割り当てている
IPアドレスは、人間にとって理解しにくいため、ドメイン名に変換されている
→DNS:ドメインネームシステム、ドメイン名とIPアドレスの対応表を持ったコンピュータである、DNSサーバをインターネット上に配置しておき、DNSサーバに問い合わせれば、ドメイン名に対応するIPアドレスが返ってくる
TCP/IP上では、HTTP以外にも、SMTPや、POP3など、様々なプロトコルで情報がやり取りされている
→受信した情報がどのプロトコルのものであり、どのアプリケーションが処理すべきか把握する必要がある
→ポート番号:どのプロトコルのものかが分かるため、届いた情報をどのアプリケーションが処理すべきかが分かる
リクエスト処理
①GET:クエリ文字列を使用して、パラメータを渡すため、URLの中にパラメータが含まれる
②POST:メッセージボディを利用してパラメータを渡すため、URLにはパラメータは含まれないし、パラメータの長さに制限がなくなる
→副作用がない、同じ要求を何度繰り返しても同じ結果が得られることが期待されている場合は、GETリクエストを利用したほうが良い
日本語をGETパラメータで渡す方法
→パーセントエンコード:文字列を文字コードで表し、16進数で表された各値の先頭に%を付けている
■Cookie
・HTTPの仕様を拡張してWebアプリケーションとWebブラウザの間で情報を交換できるようにしたもの
・名前=値の組み合わせで表される
・WebサーバからCookieを受け取ったウェブブラウザは、次回同じWebサーバにアクセスする際に、受け取ったCookieをほのままHTTPリクエストヘッダに入れて送る
・Cookieを受け取ったサーバとは異なるWebサーバに対しては、Cookieは送らない
→Cookieにより、ウェブブラウザに状態を持たせることが可能になった
ただし、Cookieの値は、InetSpyのようなツールで簡単に覗けてしまう
→セッション
■セッション
目的を達成するために、webアプリケーションに対して何度かのHTTPリクエストを行う、一連の処理の流れをセッションと呼ぶ
Webサーバとwebクライアント間でのやり取りを、セッションIDのみで行い、Webサーバ側はクライアントから受け取ったCookieに格納されているセッションIDを元に、状態を復元する
→安全性が高い -
異動後、同僚の技術レベルにまったくついて行けず、苦しい日々を送っていましたが、本書により最初の1歩を踏み出せたと思います。副題の「なぜ、あなたはWebシステムを開発できないのか」が目を引いて手に取った一冊です。本書で紹介されていた参考文献を手掛かりに次の一歩を踏み出してみようと思います。
-
良質な入門書。
この業界で仕事してみたい人は、まずこれ読むのがいいと思う。
わからない所は飛ばしても構わないから、一度通読しましょう。
一度読めば種を蒔くための地ならしとなる。
他書は、地ならしをせずに種蒔かせたり、コンクリに種蒔いたり… -
『プロになるためのWeb技術入門』小森裕介
(レビュアー:エンジニア 福岡)
ちょっとプログラミングができる人ならば最近は根本的な仕組みを知らなくても、Webアプリケーションの開発が出来きちゃいますよね。
でも根底のWeb知識がないと、トラブルシューティングやセキュリティ対策に不備が出てきてしまうこともあります。
この書籍はそんな不備をなくすために必要なWebの背景をとても理解しやすく説明してくれています。
この本の良いところは、説明されてもいまいちピンとこないWebが動く仕組みをとても分かりやすく記述されているところだと思います。
何故分かりやすいのかというと、その分かりにくいデジタルな部分をアナログな例で説明しているところです。
例えばプロトコルを狼煙としたり、TCP/IPを郵便配達と例えたりしています。Webは目に見えない動きが多い為、身近なもので例えられることでスッと自分の中に吸収されました。
また、技術書ではどうしても堅い文章が多いですが、この書籍は全体的に文章も柔らかいので、非常に読み進めやすいと思います。
章もわりと細かく分かれているので、空いた時間の合間にぜひ読んで見てほしい1冊です。 -
WWWやJSPなどが誕生した経緯から丁寧に説明しているため、技術の考え方や理想としているものや問題点を、概念として捉えることができる。これから様々な枝葉を学んでいくに当たって、土台作りに最適の一冊だったと思う。
-
2010年刊行(2020年13刷)の、読み継がれてきたことがわかる本。まだ事例にInternet Explorer があった頃だけれども、三種のサーバ(Webサーバ, アプリケーションサーバ, DBサーバ)の役割分担、ネットワークの仕組み、設計のモダンスタイル、セキュリティ対策、など主要な理論が一冊にまとまっており、助かった。IT技術書は細目ごとに話が分かれているため、この本のようにWeb技術というまとまりでしっかり解説している本は、古典として定評のある本以外では相対的に少ない印象がある。
-
WebエンジニアとしてWebの基礎を抑えようと思い本書を選択。
HTTPやDNSについて理解が深まった。
またMVCアーキテクチャについても漠然と理解していたのが具体的にイメージできた。
私の作るものはMVCがごちゃごちゃしてしまっているので、改善しなくては。。。 -
web系の知識は皆無であったがwebの仕組みやアーキテクチャ、セキュリティ関連のあれこれと多くの事を学べた
ただ内容に対してサブタイトルが合ってなく気になった