見出し画像

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);

----------------------------------------------------------------------------

暗記が多いです。私自身も通信ってこんな流れなんだなーくらいです。もっと理解を深めたい。

それではこの辺で!




この記事が気に入ったらサポートをしてみませんか?