http - 接受图像标题请求

标签 http go http-headers

我写了一个路由函数,只接受图像请求。看下面的代码。

// Add image route paths
func addImage(path string, handler httpImageFunc, name ...string) {
    //log.Println("Add image")
    if len(name) > 0 {
        router.Handle(path, httpImageFunc(handler)).
            Methods("GET").
            Headers("Accept", "image/*").
            Name(name[0])
    } else {
        router.Handle(path, httpImageFunc(handler)).
            Methods("GET").
            Headers("Accept", "image/*")
    }

}

如您所见,请求只接受 header ("Accept", "image/*")。 但是 chrome 浏览器发送带有 header 的请求

Accept:image/webp,/;q=0.8

和火狐

Accept:image/png,image/;q=0.8,/*;q=0.5

在这种情况下,当 firefox 和 chrome 发出图像请求时,它不会通过路由器。 我必须做什么,请求才能通过?我正在使用 gorilla 复用器作为路由器。

最佳答案

使用 MatcherFunc 并自行检查 header ,以便您可以匹配“image/”。

关于http - 接受图像标题请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28600424/

相关文章:

javascript - 获取ajax请求的请求头

python - 如何告诉 HTTP 服务器不发送分块编码

http - MSXML2.XMLHTTP 请求验证在 ASP Classic 中输入的 URL

python - 如何在Python中使用SSH连接从远程主机发送HTTP GET请求?

go - 同一结构中的多个互斥体?

testing - 如何测试go中函数的返回值是指向类型的指针?

node.js - HTTP2 - 如何拥有类似 WebSocket 的功能(Keep-Alive、EventSource 等)

javascript - Firefox 异常 'JavaScript component does not have a method named: "可用"'

go - Go 中的函数类型

http - 如何使用 Reqwest 设置请求 header ?