HTTP方法
HTTP方法 |
描述 |
GET |
服务器向客户端发送资源 |
PUT |
将客户端数据存储在服务器资源中 |
DELETE |
从服务器中删除命名资源 |
POST |
将客户端数据发送到一个服务器网关应该程序 |
HEAD |
仅发送命名资源响应中的HTTP首部 |
URL的语法
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
组件 |
描述 |
默认值 |
方案 |
访问服务器以获取资源时要使用哪种协议 |
无 |
用户 |
某些方案访问资源时需要的用户名 |
匿名 |
密码 |
用户名后面可能要包含的密码,中间由冒号分隔 |
<email 地址> |
主机 |
资源宿主服务器的主机名或点分IP地址 |
无 |
端口 |
资源宿主服务器正在监听的端口号,很多方案都有默认端口号(HTTP默认的端口号是80) |
每个方案特有 |
路径 |
服务器上资源的本地名 |
无 |
参数 |
某些方案用这个组件来指定输入参数。参数为名/值对。URL中可以包含多个参数字段,它们互相之间以及与路径的其余部分之间用分号(;)分隔 |
无 |
查询 |
某些方案用这个组件传递参数以激活应用程序 |
无 |
片段 |
通过字符“#”将其与URL的其余部分分隔开来 |
无 |
# 方案(使用什么协议)
# 方案名与大小写无关。
`http://baidu.com` = `HTTP://baidu.com`
# 主机与端口
`http://baidu.com:80`
`http://111.13.101.208:80`
# 用户名和密码
`http://joe:joespasswd@www.joes-hardware.com/sales_info.txt`
# 路径
# 通常很像一个分级的文件系统路径
# 参数
`http://example.com/hammers;sale=false/index.html;graphics=true`
# 查询字符串
`http://anna.52inlove.com?page=1&name=example`
# 片段
`http://anna.52inlove.com/index#foot`

请求报文格式
<method> <request-URL> <version>
<headers>
<entity-body>
GET /api/test/detail?page=2 HTTP/1.1
Host: dev.xxx.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: application/json, text/plain, */*
响应报文格式
<version> <status> <reason-phrase>
<headers>
<entity-body>
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 17 May 2019 02:47:20 GMT
Content-Type: application/json
响应码
