【问题标题】:Count increased by 2, expecting 1计数增加 2,预期为 1
【发布时间】:2015-11-28 04:47:13
【问题描述】:

我正在按照书中的示例进行操作。它应该在输入http://localhost:8080/xxx 时增加计数,并在输入http://localhost:8080/count 时返回计数

代码如下

var count int
var mu sync.Mutex
func main() {
        http.HandleFunc("/", handler)
        http.HandleFunc("/count", counter)
        log.Fatal(http.ListenAndServe("localhost:8080", nil))
}
func handler(w http.ResponseWriter, req *http.Request) {
        mu.Lock()
        fmt.Fprintf(w, "Count before: %d\n", count)
        count++
        fmt.Fprintf(w, "Count after: %d\n", count)
        mu.Unlock()
        fmt.Fprintf(w, "URL.Path = %q\n", req.URL.Path)
}
func counter(w http.ResponseWriter, req *http.Request) {
        mu.Lock()
        fmt.Fprintf(w, "Count: %d\n", count)
        mu.Unlock()
}

但是,当我打开 http://localhost:8080 并刷新时,计数每次增加 2 而不是 1。这是 Chrome 中的一些功能吗?

【问题讨论】:

标签: go


【解决方案1】:

Chrome 会自动尝试获取网站图标,并再次增加计数器

您可以在加载页面之前按 F12 并转到“网络”标签来查看它:

(这是 Chrome 开发工具的一部分:https://developers.google.com/web/tools/chrome-devtools/

要测试准确的代码,我建议像这样使用 curl:curl -XGET http://localhost:8080/

【讨论】:

  • 所有浏览器获取图标。这是一个常见的问题。不要通过浏览器测试简单的 REST API。
猜你喜欢
  • 1970-01-01
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
相关资源
最近更新 更多