http状态码分类
- 1xx服务器收到请求
- 2xx请求成功
- 3xx重定向
- 4xx客户端错误
- 5xx服务端错误
- *
常见状态码
- 200 成功
- 301 永久重定向
- 302 临时重定向
- 304资源未被修改
- 404资源未找到
- 403没有权限
- 500服务器错误
- 504网关超时
- *
methods请求方式
- get获取数据
- post新建数据
- patch/put更新数据
- delete删除数据
- *
post和get的区别
- get在浏览器回退是无害的,而post则会再次提交请求
- get产生的url地址可以被收藏,而post不可以
- get请求会被浏览器主动缓存,而post不会,除非手动设置
- get请求只能进行url编码,而post支持多种编码方式
- get请求参数会被完整的保存在浏览器历史记录里,而post参数不会被保留
- get请求在url中传送参数是有长度限制的,而post没有限制
- 对参数的数据类型,get只接受ASCLL字符,而post没有限制
- get比post更不安全,因为参数直接暴漏在url上,不能传递敏感信息
- get参数通过url传递,post放在request body中
- *
http特点
1.简单快速(资源固定)
2.灵活(完成不同数据类型的传输)
3.无连接(连接一次就会被断掉)
4.无状态(不能区分上一次连接者和这一个连接者的身份)
HTTP协议报文组成部分:请求报文、响应报文
请求报文:请求行,请求头、空行、请求体
请求行:http方法+页面地址+http协议+版本
请求头(key,value值)
响应报文:状态行,响应头,空行,响应体
常用的网络协议http和https
- https协议需要ca申请证书,一般免费证书较少,因而需要一定费用;
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议;
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;
- http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议,比http协议安全。
- *
Restful API
传统的API设计:把每个url当做一个功能
Restful API:把每个url当做一个唯一的资源
http headers—常见的Request headers
- Accept浏览器可接收的数据格式
- Accept-Encoding浏览器可接收的压缩算法,如gzip
- Accept-Language浏览器可接收的语言,如zh-CN
- connection-keep alive 一次TCP连接重复使用
- cookie
- Host
- User-Agent(简称UA)浏览器信息
- Content-type 发送数据格式,如application/json
http headers—常见的Response headers
- Content-type 返回数据格式,如application/json
- Content-length返回数据的大小,多少字节
- Content-Encoding返回数据的压缩算法,如gzip
- set-Cookie
http缓存—Cache control强制缓存
- 在response headers中
- 控制强制缓存的逻辑
cache control 的值
- max-age设置过期的值,单位为秒
- no-cache不缓存
- no-store 不用本地缓存
- private只允许最终用户做缓存
- public允许中间的一些路由等做缓存
http缓存—协商缓存(对比缓存)
服务器端缓存策略
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。