サーバーを使ったやり取りをしてみたい その3 「要求・応答について調べてみる」
皆さんこんにちは~ 花粉で目がしばしばのcacaponです~
早く花粉おさまらないかなぁ…
さて、今回はpythonの3回目っということで前回に引き続きサーバーのやり取りについてまとめていきます!前回の記事はこちらになりますので、よかったら見てください♪
サーバーを使ったやり取りをしてみたい その2 「サーバー作ってみる」
今回は何となくできてしまったサーバーのやり取りの部分に注目して作っていきたいと思います~
=リクエストって?=
リクエストとは、クライアントのコンピュータからサーバー側に出す「お願い」になります。前の記事では「要求」って書いていましたが、一般的にはリクエストというそうです~
例えば、「cacaponのブログを見たい」場合はクライアントからサーバーへ
「cacaponのブログを見せて~」とお願いしています。
なお、WEBを見るときは、ブラウザを使ってこの要求をWEBサーバーへ伝えてくれてます~
Google ChromeさんとかInternet Explorerさんとかは裏でこういう事やっているんですね~ 働き者です~
=レスポンスって?=
レスポンスとは、リクエストをくれたブラウザに対して、その結果を返すことを言います。
これも、前回では「応答」って書いてましたが、レスポンスのほうが一般的な言い方みたい~
「cacaponのブログを見たい」とお願いを受けたら、
サーバー側でcacaponのブログを探します~
そして、ブラウザに「cacaponのブログ見せるね~(もしくは、無かったよ~)」
と返す…といった感じですかね~
cacapon的なイメージだと宿題見せてもらう人、見せる人のイメージでした♪
「宿題見せてもらう人」がクライアント
「宿題見せる人」がサーバー
「宿題見せて~」ってお願いするのが、リクエスト
「やだ~ 自分でやりなよ~」って返答するのがレスポンス
…わかりやすいかなぁ?
=この前のプログラムでいう「リクエスト」「レスポンス」は?=
では、前回のプログラムだとどこが「リクエスト」で「レスポンス」なのでしょうか?この前のプログラムを見てきましょう~
まず、「リクエスト」ですが…
「リクエスト」は「http://localhost:5000」に繋げるときに出してます~
ブラウザでリンクをぽちっとしたときに
「ローカルホストの5000番をみせて~」
と、ブラウザからお願いしてるんですね~
さて、「リクエスト」が届いたローカルホスト5000番ですが、
リクエストが届いたときにプログラムが動き始めます~
前回のプログラムでいうとこの部分ですね~
@app.route("/") #ページ
def hello():
print("hello server!") #ログ
return "" #レスポンスで返すもの
return で返している部分がレスポンスになるんですね~
前回のプログラムでは空白しか返してませんが、
ここに返すデータを色々設定できるともっと面白いものができそうです♪
=まとめ=
今回は、サーバーのやり取りのうち「リクエスト」と「レスポンス」についてまとめました~
今のところリクエストでしてるのが「○○のページ見せて~」しかやってませんが、
「私の身長はXX 体重はΔΔだよ~」ってリクエストしたら
「bmiは◇◇だよ~」とレスポンス
…みたいに、サーバー経由で入出力もできそうですね♪
サーバー…奥が深そうです~ もっと勉強してみようと思います♪
ここまで読んでくれてありがとうございました~
=参考URL=
リクエスト・レスポンスについて
http(通信プロトコル)とは?httpの仕組みと、通信内容(リクエストヘッダとレスポンスヘッダ)の確認手順まとめ