Skip to main content

Get full access to Real World HTTP 第3版 ―歴史とコードに学ぶインターネットとウェブ技術 and 60K+ other titles, with a free 10-day trial of O'Reilly.

There are also live events, courses curated by job role, and more.

7章GoによるHTTP/1.1クライアントの実装

_images/ch07_header.jpg

Google Chromeの開発者ツールで見るJSON-RPC/XML-RPC

本章では5章と6章で説明してきた機能のいくつかをGoで表現します。本書でGoによって実装しているのは、APIサーバーにリクエストを送るクライアントを作成するための方法を伝えるという直接的な目的以外に、コードを使って理解を補強するという目的もあります。いくつかの機能はAPIクライアントとして利用する場面がなくても、5章、6章で説明してきた内容を再確認し、理解を補強できます。筆者もソフトウェア系の論文や難しいアルゴリズムを学ぶときは、それを実装したコードを併読したり、それを自分の得意な言語に移植することで理解を深めます。曖昧な理解ではコードを書けないので、実際に動かすことで理解が正しいかどうかを再確認できます。

4章ではテスト用のサーバーに対してリクエストを送るクライアント側のコードのみを紹介しましたが、HTTP/1.1ではクライアントから見たセマンティクス(通信内容や意味)は変わらなくても、シンタックス(通信のプロトコル)が変わっている部分が数多くあります。いくつかの項目では実際にクライアントをつないで動作確認できるように、まずサーバー側のコードを紹介しています。

7.1 Keep-Alive

GoのHTTP APIは、何も設定しなくても標準でKeep-Aliveが有効になっています。正しく通信が完了した後も、セッションが維持されるようになっています。ただし、そのためにはクライアントコード側で必ず ...

Get Real World HTTP 第3版 ―歴史とコードに学ぶインターネットとウェブ技術 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Don’t leave empty-handed

Get Mark Richards’s Software Architecture Patterns ebook to better understand how to design components—and how they should interact.

It’s yours, free.

Get it now
Cover of Software Architecture Patterns

Check it out now on O’Reilly

Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.

Start your free trial Become a member now