I-常见状态码
分类: 1开头 服务器收到请求
2开头 成功
3开头 重定向
4开头 客户端错误
5开头 服务器错误
常见:200成功、301永久重定向(返回302+location,会被浏览器缓存,下次浏览器不会再访问旧地址)、302临时重定向、304资源未被修改、404资源未找到、403无权限、500服务器错误、504超时
II-常见headers
请求头(xhr.setRequestHeader)
accept 可接收的数据格式
accept-encoding 可接收的压缩算法,如gzip
accept-languange 可接收的语言
connection keep-alive 重复使用
cookie
host 域名
user-agent 浏览器标识
content-type 发送的数据格式
if-modified-since 携带的初次请求服务端返回的资源最后修改时间
if-none-match 携带的初次请求服务端返回的资源标识
响应头
content-type 返回的数据格式
content-length 返回的数据大小
content-encoding 返回数据的压缩算法
set-cookie 设置cookie
cache-control 资源可被缓存
etag 资源标识
last-modified 资源最后修改时间
III-restful api
这是一套新api设计方法,传统api设计将每个url当作一个功能,restfulAPI则当作一个唯一的资源标识(method+无参=/api/list/2)
IV-methods
get 请求
post 新建
put/patch 更新
delete 删除
IV-缓存机制
缓存相关的header cache-control(资源可被缓存)、etag(资源标识)、last-modified(最后修改时间,可用作资源标识,当与etag共存时无效)
什么是缓存
无必须重新请求的资源从本地获取,可提高页面加载速度,js、css、图片资源可用于缓存
缓存策略(强制缓存、协商/对比缓存)
强制缓存 响应头指定catch-control(max-age设置最大缓存时间、no-cache不用本地缓存交由服务端处理、no-store不使用缓存、private禁用中间层缓存
、public)
协商缓存 服务端缓存策略,由服务端根据资源标识判断资源是否更新是否访问本地缓存,如304
刷新对缓存的影响
浏览器刷新 不影响
f5 强制缓存失效
ctrl+f5 均失效
三次握手
:客户端发起一个SYN=1的报文请求,表示请求建立链接(SYN:同步序列编号)
:服务端收到后为该次链接分配内存,并将ACK标记为1,表示允许建立(ACK:确认字符)
:客户端收到响应后为其分配缓存和变量,将服务端的确认字号加1并将SYN置为0,完成连接建立
四次挥手
:客户端发送FIN=1的请求报文,请求断开链接
:服务端反馈知晓该请求,继续处理剩余未完数据
:服务端处理完成,发生FIN=1的响应报文,表示客户端可以断开链接
:客户端收到响应,断开链接
http与https的区别
-安全性:https经过ssl加密,安全性更高
-端口:https端口默认为443,http默认为80
-数据传输格式:https将数据进行分帧,http则以文本分割
-响应:https可以对一个客户端请求发送多个响应
网友评论