Contenu connexe
Similaire à Java8でhttpサーバを実装してみた (20)
Java8でhttpサーバを実装してみた
- 2. 準備等
• 準備する内容
• GoogleChrome のインストール
• java8 のインストール
• maven のインストール
• intelliJ のインストール
• https://github.com/YutoEguma/HTTPServerPractice をgit cloneして
おく
• connpass ページにも記載しています
• https://github.com/YutoEguma/HTTPServerPractice/blob/master/RE
ADME.md
- 6. デモ
• webapp/public 以下にコンテンツを配置
• ブラウザからのHTTPリクエストを解析する
• 解析結果によってHTTPレスポンスを返す
• HTML/CSS,Javascript
• PING,JPEG形式の画像
• HTTPServerPractice の section5/SampleWebServer
を起動
- 24. HTTP Status
• Responseの状態を表すもの
• Code と Phrase のペアで管理されてい
• https://triple-underscore.github.io/RFC7231-
ja.html#section-6
HTTP/1.1 SP 200 SP OK CRLF
HTTP/1.1 SP 404 SP NOT_FOUND CRLF
HTTP/1.1 SP 500 SP OK CRLF
Notes de l'éditeur
- 全体TODO
・全てのマイルストーンを作成
全体的に
- ざっくりとJavaで通信を行うためのプログラムを作って見ましょう
- とんでもなくおまじないです
- HTTPの説明の内容をもっと深く
- 先ほど文字列のやりとりができるようになった
でも、自由に文字列をやりとりしていいんですか?っていうとそうじゃない
お互いに欲しい情報ってたくさんあって
・クライアントが欲しい情報ってなんだっけ?
・レスポンスで返した方法って
・サーバサイドでちゃんと処理ができたんだっけ?
・etc…etc…
でもこれらをサーバもクライアントもめちゃくちゃにしたらコミュニケーションが取れない
だから、どんな文字列のやりとりをするのかっていうのをきっちりと決めてあげる
- ・HTTP リクエストの形式
・start-line の形式
・Method
・request-target
・HTTP Version
・header-field の説明
・こういうヘッダの種類があるよ(要求) http://www.tohoho-web.com/ex/http.htm#headers
・start-lineをもっとよく説明する
・1行ずつ説明する
・HOST : みんなの知っているサービスに紐付ける
・
- ・HTTP リクエストの形式
・start-line の形式
・Method
・request-target
・HTTP Version
・header-field の説明
・こういうヘッダの種類があるよ(要求) http://www.tohoho-web.com/ex/http.htm#headers
・start-lineをもっとよく説明する
・1行ずつ説明する
・HOST : みんなの知っているサービスに紐付ける
・
- ここでコードを見せる
- イメージがあまりつかない
一般的な構成
・
- ただし、status-line になっているよ
- Content-Type の説明
- ・取り合えずmainの中でやる
・Content-Type がおかしなことになれば、文字化けする
- 画像、って文字列じゃ扱えない…
Section 4-1 にsection 3 のレスポンスの書き込みをバイナリに変換したものを作成しました
- 画像、って文字列じゃ扱えない…
Section 4-1 にsection 3 のレスポンスの書き込みをバイナリに変換したものを作成しました
- 以下が全部同じ
http://www.bizreach.co.jp/service
http://www.bizreach.co.jp/service/
http://www.bizreach.co.jp/service/index.html
- これで section4-2が完成
- ・そもそもマルチスレッドってなんだっけ?
・多重リクエストを受け付けるため
・レスポンスが重いときにどうする