golang http响应标头被删除

前端之家收集整理的这篇文章主要介绍了golang http响应标头被删除前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不确定这是一个错误还是http响应包应该如何工作.

在此示例中,不会设置Content-Type响应标头

// Return the response
w.WriteHeader(http.StatusCreated)
w.Header().Set("Content-Type","application/json")
w.Write(js)

但是,如果我按顺序设置标题的顺序,它确实有效:

// Return the response
w.Header().Set("Content-Type","application/json")
w.WriteHeader(http.StatusCreated)
w.Write(js)

现在这将实际设置标题为application / json.这种行为是有意的吗?

标题只能写入响应一次,因此您必须在写入之前设置所有标题.写入标题后,它们将被发送到客户端.

一旦设置了所有标题,就应该只调用w.WriteHeader(http.StatusCreated).

Read in the GOLANG spec how WriteHeader works

一旦写入正文,该规则对于正文是相同的(写入响应实际上是将其发送给客户端)它不能重新发送或更改.

原文链接:https://www.f2er.com/go/186862.html

猜你在找的Go相关文章