1.ウェブブラウザ(Web Browser):HTTPを利用してハイパーテキスト文書を検索させるプログラム。つまりHTMLを解析する解析器
2.ウェブサーバ(Web Server):ウェブブラウザのようなクライアントからHTTP要請を受け入れ、各種リソースを返却するソフトウェア
-
HTML(HyperTextMarkupLanguage):ウェブでコンピュータがハイパーテキストを作成するための言語
-
HTTP(HyperTextTransferProtocol):インターネット上でユーザーとウェブサーバーがデータをどのようにやり取りするかを定めた規約。
つまりHTML転送プロトコル -
HTTPS(HTTP+overSecuresocketlayer):HTTP規約にセキュリティをさらに強化したバージョン
-
URI(UniformResourceIdentifier):インターネットにあるリソースを表す唯一のアドレス。
インターネット上の情報リソースを固有に識別可能。 インターネットで要求される基本条件で、インターネットプロトコルに常に付く -
URL(UniformResourceLocator):ネットワーク上で資源がどこにあるかを知らせるための規約。
つまりクライアントがHTMLを訪れるアドレス。 URIの下位概念 -
アパッチ(apache):ウェブサーバー。 静的ページの遂行に適切
クライアントはプログラム(ブラウザ)を決定し、サーバ(アパッチ)に要請→応答
静的ファイル(.html,.png...)は理解するが動的ファイル(.jsp)は理解できない-(委任)->トムケット
9.トムケット(tomcat):アプリケーションサーバー(WAS:WebApplicationServer)。 動的ページの遂行に適切
委任されたものをhtmlに置き換える(ブラウザが理解できないコードのみ解析して渡す)
ex)b.jsp->b_jsp.java->b_jsp.class->html
タブレットに変えコンパイルしてhtmlに変える
=>こうなると、トムケが使用されるときだけ使用される場合があるので、いつもURIを送るように設計される。
タブレット:クライアントの要請をサーバで処理し、その結果を再びクライアントに転送するジャワプログラミング技術。
これをルータ/コントローラともいう。
10. MVCモデル: URIを受けたタブレットがview(jsp)を探して応答-CV.
データ関連のすべてのロジック-M
データが必要であればMに減(db使用)
-
stateless:クライアントとサーバの連続した動作状態情報を保存しない。 すなわち、サーバはデータ伝送後に切れる。
-
stateful:サーバにクライアントとサーバの連続状態情報を保存。ソケット通信 = 認証のような仕事を処理する際にstatefulしなければな
らない。
つまり、ウェブサーバーをstatelessで維持しながらstatefulに騙せばいい。
->これをsessionとcookieが実行(クライアントと情報維持を行うためのもの)
13. session:ウェブサーバーが実行された時点から終了する時点までサーバーに保存する領域。 セッションクッキー
各クライアント固有のセッションid付与->これに区分し、各クライアント要求に応じたサービスを提供
-
sessionid:最初に実行されるときに持つid
ex)画面が移動してもログインが維持される
-
cookie:あるウェブサイトのサーバーからクライアント(ブラウザ)に保存する領域
ex)訪問したサイトに再度訪問した場合、IDとパスワードを自動入力
16. HTTPheader:本文(body)及びリクエスト/応答に関する情報を含む。
- HTTPbody:もたらすデータの本文
18. post:bodyにデータを入れて転送(長さ制限x)。 内容が目に見えない(but敏感なデータは暗号化)
リクエストヘッダーのContent-Typeにリクエストデータのタイプを明示
-
Content-Type:送信される内容が何かを知らせる形式名
-
get:URLにパラメータを含めて要請する方式。 セキュリティに脆弱 データをheaderに含めて転送
21. scope:このデータがいつまでメモリに生きているのか。 トームケットにあり
-
application
session:クライアントごとに1つずつ空間を生成し、状態情報維持のために使用するscope。 request:httpリクエスト(クライアント、ユーザの要請)をWASが受けてウェブブラウザに応答するまで変数が維持される場合に使用 requestは要請するクライアントの変数のようなもの(応答時に飛んでいく)。
-
page
- HTTP状態コード:クライアントが送信したHTTP要請に対するサーバの応答コードで、状態コードによって要請の成功/失敗可否を判断
100番台 - 条件付き回答(要請を受け、作業を続ける)
200番台 - 成功
300番台 - リダイレクト(他を応答-内部的にrequest2回される)
400番台 - クライアントエラー
500番台 - サーバーエラー
23. response.sendRedirect:既存のrequestがなくなり、新しくできる。 実行時アドレス変更
- request.getRequestDispatcher:再びrequest作られるときに被せ(requestは最初のものとなる)。
被せ物のため実行時に住所が変更されない。
25. UTF-8:1~4Byte可変長文字エンコード。 英語は1Byte、ハングルは3Byte絵文字4Byte。すべてをUTF-8に統一。