見出し画像

【ネスペ2問】GET/POST(ネットワークスペシャリスト)

このNoteには、ネスペR06~H21からGET/POSTの問題だけを集めました。

たった2問で、直近がH30なので出る傾向ではないです。とはいえ、HTTP/HTTPSプロトコルの代表的な仕様ですし、GETはURLにも絡みます。出題周期も2~5年と長めなので、どこかでポッと出る雰囲気はします。

またネスペの午後問題には、更に深くなって出ます。>令和5年春午後1問1のNote(準備中*)

セキスペには間違いなく繋がるので、すでにセキスペ合格した方は復習がてら、ネスペ後にセキスペ考えている方は学習コスパが良いです。

なお私の全てのNoteは、学生時代の独学合格体験、大学・IT専門学校での授業経験を生かして作成しています。少しでも信用して頂けたら嬉しいです。

それでは始めましょう!


>TOPページ:全てのNoteへの入口<

\私の3ヶ月の学習記録/



講座 | GETとPOST

HTTPで利用者の入力内容をWebサーバに伝えるには、GETとPOSTが代表的です。

  • GETURLにパラメータとして挿入する

  • POSTHTTPボディに挿入する


まずは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にはデータは表れません。


私は「GETとPOSTどっちがどうだったっけ」とよく混乱しちゃいます。同じ方は、何か屁理屈で覚えるか、学習ノートの裏表紙にメモしておくと良いですね。




問題演習 | プログラムの起動とデータ入力

ネットワークスペシャリスト平成30年秋午前2問14
ネットワークスペシャリスト平成25年秋午前2問15
ネットワークスペシャリスト平成23年秋午前2問17

正答はエ。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を入力して実行しています。



ネットワークスペシャリスト平成21年秋午前2問10

正答はア。覚えなくて良いですが。イやエは消して下さい。

イについて、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



>TOPページ:全てのNoteへの入口<

\私の3ヶ月の学習記録/


いいなと思ったら応援しよう!

せんない
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ

この記事が参加している募集