GET和POST是最经常使用的HTTP请求方法,除此以外还有DELETE、HEAD、OPTIONS、PUT、TRACE等,但都不多用到。html
GET | POST |
---|---|
主要用途是获取数据 | 主要用途是发送数据 |
数据放在HTTP请求Header中,经过URL进行传输,容量≤32K | 数据放在HTTP请求Body中,容量大,一般上限是2G |
咱们能够使用Nodejs自带的url和querystring模块处理接收到的GET数据。git
首先新建一个带form表单的HTML文件,讲输入的数据提交到服务器地址:github
示例代码:/lesson06/form_get.htmlbash
<form action="http://localhost:8080/login" method="get">
用户:<input type="text" name="username"><br/>
密码:<input type="text" name="password"><br/>
<input type="submit" value="提交">
</form>
复制代码
服务端在接收到请求数据时,能够有3种方式处理数据:服务器
示例代码:/lesson06/server.jsless
const [ pathname, queryStr ] = req.url.split('?')
const query = querystring.parse(queryStr)
console.log(pathname, query)
复制代码
const url = new URL(`http://localhost:8080${req.url}`)
const { pathname, search } = url
const query = querystring.parse(search.substring(1, url.search.length))
console.log(pathname, query)
复制代码
// parse方法第二个参数若传true,则会直接将解析出的query值转为对象形式,不然它只是字符串形式
const { pathname, query } = url.parse(req.url, true)
console.log(pathname, query)
复制代码