したらばのwrite.cgiの扱いを調べる

 したらばって掲示板をよく使うのですが、書き込みを投稿する時ってHTTP通信的にはどういう動作が行われているのだろう?と思ったので、それを実験してみました。最終的にはREST API的な扱いで投稿できるところまで理解しました。ただし原因不明の文字化けが起きました。文字化けの原因を調べていきたいところです。

 write.cgiにPOSTしているというところまではすぐに分かったのですが、HTTPのクライアントアプリで「書き込みを投稿する」という動作を再現するのになかなか手間取りました。なぜかというと、HTTPリクエストのHeaderについての理解が浅かったからです。このHeaderをちゃんと設定しないと弾かれてしまうし、余計な情報をつけるとまた理解されない形式になってしまいます。そこで、Chromeデベロッパーツールで、ブラウザで書き込んだ時どのようなリクエストを出しているのか、を観察しました。この観察により、整えるべき形が見えてきました。というか、コピぺして、挙動を観察して、ちょこっと修正したらすぐ再現できました。この時点で、「write.cgiへHTTPリクエストを出し、書き込みを投稿する」という動作を実現するための、HTTPリクエストのHeaderとBody(formの組)を理解できました。

 前々からフォームの書き込みボタンがどうやってHTTP通信とつながっているのか好奇心がありました。実際にHTTPクライアントアプリでその動きを再現できたのでちょっと感動しました。formってhtmlタグにしれっと入ってますけど、HTTP通信で使う情報なんですね。HTML初心者の時はformタグの位置づけがよくわからず苦しんだ記憶があります。

 とりあえずこれで前に進めます。