HTTPのリクエストとレスポンス

リクエスト
servletに送られるHTTPプロトコルによるリクエストの内容を読み解くと
 以下手打ち

POST /request/URL HTTP/1.1       //リクエストライン
Host: localhost:8080                        //メッセージヘッダ↓
Connection: keep-alive                      //
Content-Length: 8                 
Cache-Control: max-age=0          
Origin: htttp://localhost:8080
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html, application/xhtml+xml, application/xml;q=0.9,
 image/webp, */*;q=0.8
Referer: http://localhost:8080/request/URL.html
Accept-Encoding: gzip, deflate, br
Accept-Language: ja, en-US;q=0.8,en;q=0.6    //メッセージヘッダ↑
                                  //改行
user=abc                                     //メッセージボディ

1行目リクエストラインには
リクエストメソッドの種類 リクエストされたURI プロトコルVer があり
2行目からのメッセージヘッダには
ユーザのブラウザ種類の情報や、処理関連(キャッシュの利用有無など)
そして1行改行を挟んで、メッセージボディには
リクエスト時に引き渡されたパラメータ情報が記載されている
(POST通信時のみかも? GETの場合はURLに含まれているし…)

これらのHTTPプロトコルの情報をServlet内で利用できるように
HttpServletRequestインタフェース内で取得用のメソッドが各種用意されている (使いたいときにそれぞれ調べろ)

レスポンス
 Servletで生成されたレスポンスとなるHTTPプロトコルは以下(手打ち)

HTTP/1.1 200                                //ステータスライン
Content-Type: text/html;charset=UTF-8       //メッセージヘッダ↓
Content-Length: 167                         //
Date: Mon, 3 Oct 2020 15:00:05 GMT          //メッセージヘッダ↑
                   //改行
<!DOCTYPE html>                             //メッセージボディ↓
<html>                                      //
<head>
<meta charset='UTF-8'>
<title>Servlet/JSP Samples</title>
</head>
<body>
<p>Hello, World!</p>
</body>                                      //
</html>                                      //メッセージボディ↑

1行目ステータスラインには
 HTTPプロトコルのバージョン ステータスコード(有名なのだと404とか)