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

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.

主站蜘蛛池模板: 铜鼓县| 利辛县| 垦利县| 隆安县| 皮山县| 苏尼特左旗| 三都| 庆元县| 栾川县| 彭山县| 万山特区| 石楼县| 南京市| 桦川县| 于都县| 五华县| 丰都县| 米易县| 电白县| 重庆市| 曲水县| 丰都县| 孝感市| 连平县| 鱼台县| 江源县| 揭阳市| 南漳县| 沈阳市| 越西县| 沂源县| 津南区| 宁南县| 建瓯市| 苗栗市| 周口市| 通化县| 当雄县| 嘉兴市| 渭南市| 龙江县|