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

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.

主站蜘蛛池模板: 亚东县| 察雅县| 石台县| 华容县| 寿光市| 苍南县| 万全县| 五家渠市| 富民县| 江阴市| 玛曲县| 沾化县| 深泽县| 禹城市| 南投市| 泗水县| 新竹市| 苍南县| 双峰县| 大化| 康保县| 大余县| 沛县| 普兰县| 洛隆县| 娱乐| 鸡东县| 津市市| 安阳市| 济南市| 理塘县| 通州区| 囊谦县| 天祝| 普格县| 辉县市| 海宁市| 玉龙| 四川省| 息烽县| 分宜县|