在golang中使用标头时会打印两个结果

时间:2017-08-28 11:49:04

标签: go http-headers

这是我正在使用的代码:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", TestFunc)
    http.ListenAndServe(":8080", nil)
}

func TestFunc(w http.ResponseWriter, r *http.Request) {
    fmt.Println("test")

    // --------------------- headers ------------------------
    w.Header().Set("Accept-Charset", "utf-8")
    w.Header().Set("Accept-Encoding", "gzip")
    w.Header().Set("Content-Type", "text/html; charset=utf-8")
    w.WriteHeader(http.StatusOK)
}

上面的代码每次都会工作并打印两个结果(测试测试)。

当我删除标题时,代码工作正常,只返回" test"。

此代码中的问题是什么?

1 个答案:

答案 0 :(得分:2)

您的浏览器可能会请求/favicon.ico。在请求处理程序中打印出r.URL的值将确认这一点。