名词解释:
安全性:客户端请求不会改变资源的状态
幂等性:客户端每次请求的效果都一样
HTTP方法:
1.OPTIONS
获取资源支持的http方法列表。
请求:header
响应:默认只有header,但也可以有body
安全:是
幂等:是
2.GET
获取资源的表述。
请求:header
响应:header+body。资源表述,一般带body
安全:是
幂等:是
3.HEAD
跟GET有相同的请求,跟GET有相同的响应头,但不带响应体。
请求:header
响应:header
安全:是
幂等:是
4.POST
对资源执行一系列操作,包括增、删、改。
请求:资源的表述
响应:资源的表述,或是重定向指令。
安全:否
幂等:否
5.PUT
对资源执行一系列操作,包括增、改。
请求:资源的表述,可以只提供资源的可变部分
响应:更新的状态。可以包含资源的表述,但客户端不能假设响应中包含资源表述,除非响应中有一个Content-Location头。
安全:否
幂等:是(由于不包含资源表述,所以是幂等的)
6.DELETE
用来删除资源。
请求:header
响应:成功或失败。可以有body
安全:否
幂等:是
7.TRACE
回显服务器接收到的header
请求:header
响应:body中包含整个请求信息
安全:\
幂等:\
总结:
常用方法有GET/POST/PUT/DELETE,只有POST和PUT带有请求体,其他都不带请求体;只有GET和POST一定带有响应体,其他都不一定。
OPTIONS:
获取资源支持的http方法
GET/HEADER:
两者请求方式相同,请求URL相同,不同的是:
get可以获取资源实体,响应包括响应头和响应体;
header的响应中只有响应头,没有响应体。
POST/PUT:
post包括增删改,put只有增改;
post的请求中包含完整的资源表述,put的请求中可以只提供资源的可变部分;
post的响应中包含完整的资源表述,put的响应中可以包含资源的表述,但客户端不能假设响应中包含资源表述,必须要检查响应中是否有Content-Location头。
DELETE:
删除资源
TRACE:
回显请求头