スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

プロになるためのWeb技術入門 小森裕介



CGI(Comon Gateway Interface)
サイトにより多くの人に来てもらうためにはコンテンツを増やす必要があるが、全てを手作業でやっていては大変。CGIはWebサーバとプログラムの間でリクエストとレスポンスをやり取りするための規約のこと。コンテンツを生成する目的で主に利用されたのがPerlというプログラミング言語。Perlがあまりにも多く利用されたためCGI=Perlという誤解が生まれたが、そうではない。

CGIの動作
1.Webサーバがクライアントから受け取ったリクエストをWebサーバ上で動作するプログラムへ渡す
2.プログラムはリクエストを参照してHTMLを生成し、Webサーバに渡す
3.Webサーバはプログラムから受け取ったHTMLをあたかもあらかじめ用意してあったかのようにWebクライアントへ渡す

サーブレット(Servlet)
CGIの問題点は、Webブラウザからリクエストが届くたびにプロセス(コンピュータ上で動作するプログラムの単位)を起動し、それが少し時間がかかってしまうこと。アクセスが殺到すれば、膨大なプログラム処理が必要となり、Webページにアクセスしてもなかなか画面が表示されずに苦情が殺到する事態を招いた。そこで、登場したのがサーブレット。サーブレットはJavaで作られたHTMLなどのWebコンテンツを生成するためのプログラム。Webコンテナと呼ばれるWebサーバと同じプロセスの中でプログラムを動作させるため、プロセスを毎回起動する必要がなくなった。

JSP
サーブレットにも問題点があった。それはWebデザイナーがHTMLを修正したい場合、サーブレットはJavaコードの中にHTMLを埋め込んでいたため、プログラムをいじる必要があり知識の無いWebデザイナーにとって修正しにくかった。そこで登場したのがJSP。JSPはHTMLの中にJavaコードを埋め込むもの。これにより、プログラム開発者はJavaコードの部分に集中し、WebデザイナーはHTMLの部分に集中すれば良くなった。

Webアプリケーションフレームワーク
サーブレットやJSPでは高層ビル(高度なソフトウェア開発)を行うには不足していた。現在Webアプリケーション開発と言えば、Webアプリケーションフレームワークが使われている。プログラムを再利用してアプリケーション開発を進めるための土台がフレームワーク。フレームワークを土台に必要な部分を作り足していけば短期間でアプリケーション開発が可能となります。

横取り丸とInetSpy
WebブラウザとWebサーバの通信内容をのぞくためのツール。HTTP通信の様子を観察することができる。

HTTPリクエストの内容
1.HTTPリクエストライン
GET http://www.○○○.html HTTP/1.1
 ①  ②          ③

 ①メソッド
  リクエストの種類。GETは「URIで指定した情報を送ってください」の意
 ②URI
 ③HTTPバージョン

以下、<フィールド名>:<フィールド値>の形式で書かれている。

2.Accept
Webクライアントが受け取ることのできるデータの種類を表す。
3.Accept-Language
Webクライアントが受け取ることのできる自然言語の種類を表す。
4.User-Agent
利用しているWebブラウザの種類やバージョンを表す。
5.Host
リクエストの送信先ホスト名やポート番号を指定する。

URI(Uniform Resource Identifier)
URI=URL(Uniform Resource Location)+URN(Uniform Resource Name)。URLの考えを拡張したもの。URLはインターネット上の住所のようなもので、URNは名前。URNはリソースが引越ししてしまい場所が変わると分からなくなる問題を解決するために生まれたがあまり使われていない。


HTMLレスポンスの内容
1.ステータスライン
 HTTP/1.1  200  OK
  ①     ②  ③

 ①HTTPバージョン
 ②ステータス・コード
  200:OK(リクエストが正常に完了)
  302:Found(リクエストされたリソースが一時的にURIに属している)
  401:Unauthorized(ユーザ認証失敗)
  404:Not Found(リクエストURIに一致するリソースが見つからない)
  500:Internal Server Error(CGIプログラムなどサーバ内部のプログラム実行におけるエラー)
 ③レスポンス・フレーズ

2.メッセージヘッダ
3.メッセージ・ボディ

IPアドレス
IPアドレスはインターネットに接続されたコンピュータの識別番号。ピリオドで区切られた8ビット4桁(256×256×256×256=約43億通り)で表す。IPアドレスはISP(インターネット・サービス・プロバイダ)が持っているIPアドレスのうちの1つを一時的に割り当てられる仕組みのため、IPアドレスが毎回同じではない。

モック
Webアプリケーションシステムの開発を行う際に、画面状態遷移図(クリックしたらどの画面に飛ぶか)を作る。モックとは、実際にプログラム作成して画面を作る前に張りぼてのHTMLを作成すること。モックにより画面遷移のイメージを確認して、画面の不足、仕様の抜けを洗い出すことができる。

PHPの実行
Webサーバのプログラムの中にモジュールとして組み込まれている。(Apacheなど)PHPモジュールが組み込まれていると、ディスクから読み込んだファイルの中を調べて、<?PHP~?>でくくられた部分をPHPスクリプトとして認識して実行するようになる。

Cookie(クッキー)
CookieはWebブラウザに状態を持たせる技術。具体的には名前=値(例 Cookie: user=○; pass=□)の情報が保持される。異なるサーバへはCookie情報は送らない。ただこれだけの仕組み。

セッション
Cookieに関する問題点は、HTTPリクエストやレスポンスにパスワード等の重要な情報がCookie情報として記載する点であり、HTTPリクエストやレスポンスを読み取られたら、そこから大事な情報(ログイン情報など)を盗まれる可能性がある。そこで、安全に情報を保持するための方法として登場したのがセッション。セッションは、一連の処理の流れを都度Webサーバとやり取りするのではなく、CookieにセッションIDと呼ばれる受付番番号を格納するだけで済み、安全性も高い。

データベースを構築することにより、大量の情報を保存し、生かすことができる。また、商品を更新したい場合、プログラムをその都度書き換えるのではなく、DBを変更するだけでプログラム変更の手間をなくすことができる。

データベースの操作CRUD(クラッド)
・生成(Create)
・読み取り(Read)
・更新(Update)
・削除(Delete)

SQL(Structed Querry Language)
データベースに対して欲しい情報を効率よく伝えるための言語。

代表的なデータベース製品
1.Oracle Database
製品の歴史も長く、性能や信頼性に定評のあるデータベース。
2.Microsoft SQL Server
Windowsとの親和性がある一方、Windows以外のプラットフォームでは利用できない。
3.PostgreSQL
オープンソースとして公開されているデータベースの草分け的存在。商用データベースに引けをとらない内容を無償で公開している。
4.MySQL
オープンソースとして公開されているデータベース。PostgreSQLと遜色ない。個人で利用する分には無償で使える。


Webシステムの三層構造
1.Webサーバ
2.データベースサーバ
3.アプリケーションサーバ

参考図書、サイト
Lesson0
なぜ、あなたはJAVAでオブジェクト指向開発ができないのか JAVAの壁を克服する実...』 小森裕介
オブジェクト指向でなぜつくるのか 知っておきたいOOP、設計、関数型言語...』 平澤章

Lesson2
サイトのみのため割愛

Lesson3
ネットワークはなぜつながるのか第2版』 戸根勤著

Lesson4
PHP 5徹底攻略』  堀田倫英ほか
PHP 5徹底攻略(エキスパ-ト編)』 廣川類

Lesson5
逆算式SQL教科書 ぐんぐん実力がつく! / 小野哲 【単行本】』 小野哲

Light Weight Java―JSF/Hibernate/SpringによるフレームワークでWebアプリケーションの開発効率向上』岡本隆史著
オープンソースワールド』川崎和哉著

Lesson6
Apache Strutsハンドブック改訂版』 黒住幸光
ソフトウェアア-キテクチャ』 F.ブッシュマンほか
J2EEパターン 第2版 / ディーパック・アラー』 John Crupiほか
J2EE1.4対応実例で学ぶサーブレット/JSP』 赤沢直木
StrutsによるWebアプリケーションスーパーサンプル第3版』 高安厚思

Lesson7
Webアプリセキュリティ対策入門』 大垣靖男
暗号解読(上巻)暗号解読(下巻)』 サイモン・シン
OpenSSHセキュリティ管理ガイド』 新山裕介

この記事が少しでも何かのお役に立てましたら、
人気ブログランキングの応援クリックをお願いして頂けると幸いです☆


本・書籍 ブログランキングへ


読書一覧ブログTOP
http://shingoonline.blog.fc2.com/



関連記事

コメントの投稿

管理者にだけ表示を許可する
本・書籍ブログランキング

有名なブログランキングの本・読書カテゴリで 10位/612サイトになりました!

プロフィール

Author:freedom
リンク、相互紹介は大歓迎です。任意の記事へコメント頂けたらと思います。
また、献本も歓迎します。献本頂けましたら、ブログ、facebook、twitter等にてご紹介させて頂きます。

ブロとも申請フォーム

この人とブロともになる

ブログ情報

2011/10/17
ブログ新規作成

2012/01/08
リンク見直し、ランキング追加

2012/02/06
googleページランク3到達

2012/04/14
リンク見直し

2012/12/25
googleキーワード検索「読書 ブログ」で第6位」

2013/01/03
SEO対策済みテンプレートに変更

メールフォーム

献本のご依頼はこちらへお願いします。

名前:
メール:
件名:
本文:

ご献本履歴 感謝♪

☆自由国民社 館野愛 著『夢を引き寄せるお金の授業』
☆早川書房 木村尚義 著『ひらめく人の思考術』
☆リトル・ガリヴァー社 武田久生著『月光町ブルース』

サイトマップ

全ての記事を表示する

検索フォーム

ブログ内検索ができます。検索キーワードを入れてください。

ブックマーク登録


カウンター

アクセスカウンタ


現在の閲覧者数

リンク

このブログをリンクに追加する

アンケート

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。