Go言語:HTTPサーバーの基本
HTTPサーバーの話
net/http
をimportしてちょろちょろするくらいで簡単にサーバーを立ち上げられる。- サーバーの処理は
interface
で定義された関数に実装していく。Handle
でルーティング処理と、ルーティングさせるオブジェクトの設定。ServeHTTP
を実装することで、出力する内容を設定できる。- 直接関数を設定するなら、
HandleFunc
を使う。 ListenAndServe
で、HTTPサーバーの起動。
- 実装の内容
Handle
、HandleFunc
に渡される引数はhttp.ResponseWriter
とhttp.Request
。Handle
、HandleFunc
はListenAndServe
よりも前に定義されているもののみ、サーバーに反映される。
- 実装を進めれば、テンプレートも使用可能。
- また後日。
Exercise
実行して、http://localhost:4000
にアクセス。
- レスポンスとして、各パスに適用した関数に書かれている文字列を返す。
- プログラムを実行しているプロンプトの出力として、
Served
という文字列と、http.Request
の内容が出力される。- リクエストの内容を取得するのも簡単そう。
ListenAndServe
よりも後に書かれている/struct_out
というAPIは実際にはアクセス出来ない。net/http
側の実装として404が返される。