• ベストアンサー

HTTPリクエストのリクエスト行部とデータ本体部

HTTPリクエストには (1)「HTTPリクエスト行」 (2)「HTTPヘッダー」 (3)「データ本体」の3つのパートがあると思います。 これらのうち、「データ本体」について質問です。 クライアント側から、 formのinputタグにリクエストパラメータをセットしてsubmitしたとき、 サーブレット側ではgetParameterで値を取得していますが、 これは、(3)「データ本体」から取っているのでしょうか? (1)「HTTPリクエスト行」から取っているのでしょうか?

  • Java
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

GETとPOSTで違います。 GETの場合はURLとして、追加され、 POSTの場合は、HTTPヘッダーの直後「2回の改行CRLF」 後に入っています。

paranoia23
質問者

お礼

端的な回答ありがとうございます! そうだったのですね!

その他の回答 (1)

回答No.2

https://qiita.com/Sekky0905/items/dff3d0da059d6f5bfabf ここなんかが参考になるかも!

paranoia23
質問者

お礼

かなりいいページありがとうございます! なるほどです!

関連するQ&A

  • HTTPリクエスト

    JSPのクライアントからサーブレットにHTTPリクエストを送信する部分について、質問させていただきたく思います。 [実現したいこと] ・クライアント側からのHTTPリクエストのヘッダの内容を、任意のものに書き換えてサーブレットに送信。 [環境] WEB APサーバー:Web Sphere Aprication Server HTTPヘッダを読み取って、ヘッダ内のクライアント情報を元にクライアント別の処理を振り分ける機能を作ったのですが、そこの機能をテストするのに上の機能を使いたいと思ってます。。。 皆様のお知恵を拝借できればと思います。 よろしくお願いいたします。

  • HTTPステータス 404 - /servlet/Testについて

    はじめまして。Javaの初心者です。 どうしてもわからないことがあります。それは、 最初にJSPページでHTMLフォームにデータを入力して <input type="submit"/>タグでサーブレットに送信し て、サーブレットでHTMLフォームのデータ を使用して処理を行わせてから再び最初のJSPページ にリクエストを転送(forward)すると、サーブレット での処理結果が表示されるのですが、そのあと再び HTMLフォームにデータを入力して <input type="submit"/>タグでサーブレットに送信す ると、「HTTPステータス 404 -/servlet/Test」などと 表示され、サーブレットが利用可能でなくなります。 なぜなのでしょうか?どのようにしたら解決できるの かどうか教えてください。お願いします。

    • ベストアンサー
    • Java
  • requestパラメータの内容変更

    はじめまして。 request.getParameter()とrequest.setAttribute()について教えてください。 サーブレット側で画面制御をするために、アクションクラスの中での処理内容によってrequestパラメータを変更しようとしています。 具体的には、submit時に ...?id=aaa とした値をサーブレット側の処理内容によって request.setAttribute("id",'bbb')などと変更したいのです。 上記の構文であっているとは思うのですが、値が変わってくれません。 request.setAttribute("id","bbb")のあと、すぐにrequest.getParameter("id")とすると"aaa"が取れるのです。 これは何か使い方が間違っているのでしょうか? ご教授よろしくお願いします。

  • ブラウザーでの入力値をサーブレットで取得する方法

    サーブレットの開発を行っていますが、ブラウザー側で 入力したパラメーターをサーブレットで受け取りたいのですがうまくいきません。 受け取りたいのは、以下のHTMLで作成したテキストボックスへの入力値です <form name="form7" method="post" action=""> <p> <input type="text" name="textfield2" size="4" maxlength="4"> 年 <input type="text" name="textfield" size="2" maxlength="2"> 月</p> </form> ブラウザー側からは <form action="http://localhost/servlet/yuushi" method=post> の指定を行っています。 サーブレットでの受け取り方は、 String p=request.getParameter("textfield2"); String p1=request.getParameter("textfield"); としましたが、p、p1とも何の値も入りませんでした。 getParameterで取得できると思ったのですが取得できませんでした。 値の取得方法の御教示をお願いいたします。

    • ベストアンサー
    • Java
  • HttpURLConnectionを使ったHTTP

    HttpURLConnectionを使ったHTTP通信について質問です。 POSTメソッドで、JSON形式のデータを送信しています。 送信先URLは自作のサーブレットです。 HTTP接続はできましたが、サーブレット側でJSON形式のデータをどのように取得すればよいかが分かりません。 JSON形式ではなく「p1=aaa&p2=bbb」のようなパラメータであれば、getParameter("p1")で取得できるのですが・・・ ソースの抜粋は以下の通りです。 <クライアント側>--------------------------------------------------- URL url = new URL("サーブレットのURL"); HttpURLConnection uc = (HttpURLConnection) url.openConnection(); uc.setDoOutput(true); uc.setRequestMethod("POST"); String postStr = "{\"id\": \"blog\"}"; OutputStream os = uc.getOutputStream(); PrintStream ps = new PrintStream(os); ps.print(postStr); ps.close(); InputStream is = uc.getInputStream(); ------------------------------------------------------------------- <サーブレット側>--------------------------------------------------- public void doPost(HttpServletRequest request, HttpServletResponse response)     throws IOException, ServletException {     // ここでpostStr の内容を取得したい! } ------------------------------------------------------------------- JAVAの知識が浅いため、分かりにくい質問になっていたらすいません。 ご存知の方、よろしくお願いします。

  • HTTPリクエストヘッダーの設定と遷移

    1.HTTPリクエストヘッダーって、任意の項目名で値を設定する事ができるのでしょうか?   その場合、どのような設定方法(タグ?)になるのでしょうか。 2.HTTPリクエストヘッダーにある情報を設定し、   そして、そこから別のページに遷移しその別のページで、遷移前に設定していた   HTTPリクエストヘッダーの情報を読み込みたいのですが、実現可能でしょうか?   また可能な場合、例えば、Javascript、HTMLなんかを利用して可能でしょうか? 初歩的な事かも知れませんが、よく分からず困ってます。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • サーブレットでバイナリの入力データを扱いたい

    サーブレット/Java初心者です。 サーブレットで、 request.setCharacterEncoding("UTF-8"); String hoge1 =request.getParameter("hoge1"); String hoge2 =request.getParameter("hoge2"); のように、リクエストパラメータを取得しています。 hoge2だけ、UTF-8ではなく、バイナリデータとして解釈し、byte[]の変数に格納したい場合は、どうすればよいのでしょうか? APIのドキュメントを見ても、使えそうなメソッドがなくて困っています。

    • ベストアンサー
    • Java
  • ブラウザのHTTPリクエストを参照したい

    画面遷移時にブラウザ側でHTTPリクエストがどのように発行されているかを参照する手段を探しています。 Webサーバー側でHTTPリクエストの内容をログに出力する方法はわかっているのですがサーバー操作は不可なのでクライアント側で参照する方法を探しています。 ツール、設定なんでもいいのでアイデアがあれば教えていただけないでしょうか。 よろしくお願い致します。

  • HTTPリクエスト・レスポンスヘッダとは?

    こんにちは。お世話になります。 HTTPリクエストヘッダとレスポンスヘッダは通信において、HTMLファイルの前に送られてきて、その後HTMLファイルが送られてくる、と聞いているのですが、HTMLファイルの<HEAD></HEAD>タグの間に書く、<META ~>の情報とは、別物なんでしょうか? 別物だとしたら、<META ~>はどういう意味をなすのでしょうか? 誰か分かる方が見えましたら、教えてください。よろしくお願いします。

  • JSのリクエストからサーブレットに渡されるデータについて。

    現在、JSP+サーブレットでアプリを作成しています。 質問ですが、JSPにあるセレクトメニューの中身全てをサーブレットで受け取ることはできるのでしょうか? <select name="Kouba" size="1"> <option value=10>A工場</option> <option value=11>B工場</option> <option value=12>C工場</option> <option value=13>D工場</option> </select> 上のようなセレクトメニューがあった場合、submitした場合に、サーブレット側で、 String 工場 = request.getParameter("Kouba"); とやれば、選択されていたデータは取得できます。 セレクトメニューの中身全部を取得したい場合はどのようにすればよいのでしょうか? よろしくお願いします。

専門家に質問してみよう