April 2024
Intermediate to advanced
544 pages
8h 27m
Japanese
ChatGPTのプロンプト。レスポンスがServer-Sent Eventsによって少しずつ送られてくる
本章では、8章のプロトコルの一部をGoで実装してみます。9章に関してはサーバー側で行うことが多く、それ以外もCSSや動画ストリーミングなので実装は省略します。
Goは2016年2月にリリースされた1.6から、標準でHTTP/2サポートが組み込まれています。HTTPS通信を行う設定をするだけで、4章で説明したNPN/ALPNネゴシエーションの候補にHTTP/2を表すh2が追加されます。クライアント・サーバーともに、ネゴシエーションで相手がHTTP/2をサポートしていることが確認できると、HTTP/2で通信を行います。
リスト10-1は、Googleと通信してプロトコルバージョンを確認するサンプルです。
package main
import (
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://google.com/")
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Printf("Protocol Version: %s\n", resp.Proto)
}Read now
Unlock full access