【ネスペ2問】GET/POST(ネットワークスペシャリスト)
このNoteには、ネスペR06~H21からGET/POSTの問題だけを集めました。
たった2問で、直近がH30なので出る傾向ではないです。とはいえ、HTTP/HTTPSプロトコルの代表的な仕様ですし、GETはURLにも絡みます。出題周期も2~5年と長めなので、どこかでポッと出る雰囲気はします。
またネスペの午後問題には、更に深くなって出ます。>令和5年春午後1問1のNote(準備中*)
セキスペには間違いなく繋がるので、すでにセキスペ合格した方は復習がてら、ネスペ後にセキスペ考えている方は学習コスパが良いです。
なお私の全てのNoteは、学生時代の独学合格体験、大学・IT専門学校での授業経験を生かして作成しています。少しでも信用して頂けたら嬉しいです。
それでは始めましょう!
\私の3ヶ月の学習記録/
講座 | GETとPOST
HTTPで利用者の入力内容をWebサーバに伝えるには、GETとPOSTが代表的です。
GET:URLにパラメータとして挿入する
POST:HTTPボディに挿入する
まずはGETから。google検索してたら実は見えているんですよ。
GETでは、サーバへ送る内容をURLに埋込みます。
googleで「kensaku」と検索してみると「https://www.google.com/search?q=kensaku」というURLに変わります。「xxx」という言葉で探して欲しいとURLで伝えているのです。
なお、検索文字が日本語だとアルファベットに変換されます。%とか一杯になります。「URLエンコーディング」と云います。「検索」の場合は、「https://www.google.com/search?q=%E6%A4%9C%E7%B4%A2」となります。
Webサーバへデータを送るもう一つの方法がPOST。POSTではHTTP通信の中身にデータを埋め込みます。URLにはデータは表れません。
問題演習 | プログラムの起動とデータ入力
正答はエ。httpsでアクセスしているので443番です。port=123で123番かなと思うかもですが引っ掛けです。
URLでポート番号を指定してアクセスするには、「https://ftp.example.jp:123/index.cgi」とすれば、httpsは本来は443番を使いますが、123番へアクセスします。APで出ました(応用情報技術者試験 令和04年秋午前問35の過去問道場さん)。
ただし実際にアクセス「できるか」はWebサーバに依ります。今回の場合、123番アクセスを拒否されるか、index.cgiの実行パラメータが足りなくてエラーになるかでしょう。
私はgoogleさんで試しましたが、自己責任で。攻撃と思われないぐらいの数回で留めておいてくださいね。
各選択肢のポート番号に対応したプロトコルも必ず知っておいてください。FEレベルですから。>【FE】プロトコル7+3のNote
ア:21番:FTPのポート
イ:80番:HTTPのポート
ウ:123番:NTPのポート
エ:443番:HTTPSのポート
あとは53番(DNS)も知っておきたいです。
なお「?xxx=aaa」は、Webサーバにデータを送っています(GET方式)。「index.cgi」は実はプログラム。xxxって変数にaaaを入力して実行しています。
正答はア。覚えなくて良いですが。イやエは消して下さい。
イについて、GETもPOSTもクライアントから送る手段。
エについて、GETもPOSTもCGI(Webサーバのプログラム)を起動できます。というか、そもそもCGIにデータを渡す手段です。
例えばGETの具体例。「https://www.google.com/search?q=IPA」の「search」はsearchプログラムへ送るという意味。「?q=IPA」が変数qにIPAを代入する、という意味です。
まとめ
お疲れ様でした!
以下2点だけでした。
GET:URLに含めて送信する
POST:HTTPデータ(ボディ)として送信する
ただし午後問題ではもう少し詳しくでます。
GETやPOSTはHTTPリクエストで、ヘッダの「:method」属性に記述されます。またリクエストにはCONNECT・PUT・DELETEもあります。テキストの一覧を見返しておいてくださいね。
当面ネスペ集中の方は、他のネスペNoteへ。セキスペと迷っている方は、以下のNoteも宜しくお願いします。でわでわ。
>【セキスペ】攻撃手法(HTTP GET Flood, HTTP POST Flood)
>【セキスペ】CookieのNote
\私の3ヶ月の学習記録/