一、HTTP请求与响应:
一、格式:
(请求)
HTTP方法 资源路径 HTTP版本
请求头部
请求正文
=====================–
(响应)
HTTP版本 状态码 状态信息
响应头部
响应正文
二、各方法的安全性、幂等性:
HTTP方法 | 安全性 | 幂等性 |
---|---|---|
GET | V | V |
HEAD | V | V |
OPTIONS | V | V |
PUT | X | V |
DELETE | X | V |
POST | X | X |
GET:get资源表述;
OPTIONS:发现所支持方法的请求;
PUT:建立或更新一个资源;
POST:创建多个新资源或者对资源进行多处变更;
安全性:发起请求并知道该请求不会变更资源状态
幂等性:保证重复请求与一次请求的(对资源的修改)效果一致~~setter
三、用GET方法执行不安全操作,注意:
添加Cache-Control:no-cache头,保证响应不被缓存【假若GET定期检查,可能会执行缓存中的GET,再次修改资源】。
POST方法:
①缓存不储存其响应
②网络爬虫和类似工具不自动发POST请求
③大部分POST请求不会自动更新重复POST操作
自定义HTTP标头:X-{公司名}-{标头名}
当需要多次GET时,解决方案:
===》复合资源(将同类或相关资源聚合在一起,一次GET都过去)【①网络开销大,②复合资源太大,降低服务器吞吐量】
===》客户端、服务器之间增加缓存层
四、状态码
200 OK
201 Created(Location头 查看新资源)
202 Accepted(含资源表述)
204 NoContent
303 SeeOther(带URI的Location头获取被修改资源的表述)
URI:统一资源标识符
URL:统一资源定位符
URN:统一资源名称
{URI {URN {U}RL } }
URI包含URN和URL