メインコンテンツへスキップ
見出し画像

【ネスペ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が代表的です。

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

    画像


    私は「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

    次は>WebSocketとAjaxのNote でお会いしましょう。でわでわ。


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

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


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

     
     
    大学・専門学校の先生の解説Note。 学生時代にITパスポート試験・基本情報技術者試験・応用情報技術者試験を独学で高得点合格。情報処理安全確保支援士試験(セキスペ)・データベーススペシャリスト試験・ネットワークスペシャリスト試験・G検定なども取得。 2027年にPD-S受験予定。