Go サーバーからチャンク化された HTTP 応答を送信する
解決策:
チャンク化された HTTP 応答を送信するにはGo サーバーからの HTTP 応答をリアルタイムで受信するには、各データチャンクを書き込んだ後、Flusher.Flush()。これにより、「チャンク化された」エンコーディングがトリガーされ、チャンクがクライアントに即座に送信されます。これを実装する方法の例を次に示します。
package main import ( "fmt" "io" "log" "net/http" "time" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { flusher, ok := w.(http.Flusher) if !ok { panic("expected http.ResponseWriter to be an http.Flusher") } w.Header().Set("X-Content-Type-Options", "nosniff") for i := 1; i <p><strong>検証:</strong></p><p>Telnet を使用して、サーバーに接続し、チャンク化された応答が配信されるのを確認できます。</p><pre class="brush:php;toolbar:false">$ telnet localhost 8080 Trying ::1... Connected to localhost. Escape character is '^]'. GET / HTTP/1.1 HTTP/1.1 200 OK Date: Tue, 02 Jun 2015 18:16:38 GMT Content-Type: text/plain; charset=utf-8 Transfer-Encoding: chunked 9 Chunk #1 9 Chunk #2 ...
追加注:
以上がGo サーバーからチャンクされた HTTP 応答を送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。