HTTP通信の基本 職業訓練59日目
HTTPとは?
HTTPとは「Hyper Text Transfar Protocol」の略称です。HTTPではHTMLで記述したバイナリデータが転送可能な通信方法のことです。HTTPに用いるサーバーをwebサーバーと呼び、クライアントはブラウザです。
データのやり取りとしては、クライアントからサーバーへリクエストを送る。そのリクエストをもとにサーバーからクライアントへレスポンス処理を行います。リクエストとレスポンスを繰り返すことでwebデータのやり取りをしています。
このやり取りにはHTTPメソッドが使われています。リクエストしたURLリソースを取得するGETメソッド、リクエストしたURLに入力データを送信するPOSTメソッドがあります。
・ヘッダー情報と本文
ヘッダー情報とはブラウザのバージョン、OS、ページ変遷元のURL、文字コードや形式、メタ情報などHTTP通信用の情報が含まれています。HTMLでいう<header>の部分です。
本文とは、ブラウザに表示される部分です。Webサイトの本体部分です。HTMLでは<body>になります。
これらはGoogle Chromeの開発者ツールを使うことで確認することができます。
クエリ文字列
クエリ文字列は、リクエストされるURLに含まれるパラメータを示す文字列です。構文は次のようになります。
http://ドメインパス/...?パラメータ名=パラメータ値&パラメータ名=・・・・
?以降がクエリ文字列です。&を用いて連続記述をします。
・パラメータを受け取る
(基本構文)
String value=request.getParameter("パラメータ名")
(同一パラメータが複数個の場合)
String[] values=request.getParameterValues(パラメータ名)
複数個の場合はfor文を使います。
POST送信
HTMLでも使ったPOSTメソッドを使ってブラウザからの入力情報をサーバーに送ります。
(構文)
form action="./送り先URL" method="post"
ヘッダー情報の取得
・リクエストヘッダーの取得
(構文)
Enumeration<String>headers=request.getHeaders();
while(headers.hasMoreElements()){
String name=(String)headers.nextElemnt();
String value=request.getHeader(name);
・レスポンスヘッダー
リクエストヘッダーはクライアントの情報でした。レスポンスヘッダーはそれ以外のファイルのサイズであったりの補足情報です。
(構文)
Collection<String>headers=responce.getHeaderNames();
Iterator<String>keys=headers.iterator();
while(keys.hasNext()){
String name=(String)keys.next();
String value=responce.getHeader(name);
----------------------------------------------------------------------------
暗記が多いです。私自身も通信ってこんな流れなんだなーくらいです。もっと理解を深めたい。
それではこの辺で!
この記事が気に入ったらサポートをしてみませんか?