官术网_书友最值得收藏!

Request body

Query parameters are typically only used on HTTP GET requests. For requests where you are sending data to the server, such as POST and PUT requests, you would send a request body that holds all of your extra information. Request bodies are placed after the HTTP headers in an HTTP request, with a one-line space between them. The following is a hypothetical POST request for logging into an imaginary website:

POST /login HTTP/1.1
Host: myprotectedsite.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 38

username=myuser&password=supersecretpw

In this request, we are sending our username and password to myprotectedsite.com/login. The headers for this request must describe the request body so the server is able to process it. In this case, we declare that the request body be in the x-www-form-urlencoded format, which is the same format used for the query parameters in the Query parameters section. We could use alternative formats, such as JSON or XML or even plain text, but only if it is supported by the server. The x-www-form-urlencoded format is the most widely supported and is generally a safe bet. The second parameter we define in the header is the length of the request body in bytes. This allows the server to efficiently prepare for processing the data, or rejecting the request completely if it is too large.

The Go standard library has good support for building HTTP requests quite simply—if you are familiar with the structure, at least. We will revisit how this is done later in this chapter.

主站蜘蛛池模板: 海阳市| 云浮市| 如东县| 临夏县| 大洼县| 政和县| 东海县| 南川市| 荔波县| 阿瓦提县| 杭锦后旗| 彰化县| 丁青县| 潼南县| 青阳县| 阿克苏市| 巴东县| 栾城县| 永兴县| 乡宁县| 张掖市| 洪泽县| 通州市| 塘沽区| 商水县| 长子县| 临高县| 旅游| 鸡西市| 衡山县| 石嘴山市| 鞍山市| 商水县| 韩城市| 城步| 新营市| 玛多县| 治县。| 连平县| 额敏县| 通州区|