http过程
1.redirect
2.app cache
3.dns解析
4.tcp链接
5三次握手过程
6发起Http请求
7响应Http请求并得到HTML代码
8浏览器解析HTML代码
9浏览器对页面进行渲染呈现给用户
网络协议分层
五层模型
应用层:为应用软件提供很多服务,构建于tcp协议之上,屏蔽了传输相关细节
传输层:向用户提供可要端到端的服务,向高层屏蔽下层数据通信的细节tcp和udf,数据太大要封包,封片
网络层:数据节点之间传输创建逻辑链路(如何查到相关地址)
数据链路层:通信实体间建立数据链接
物理层:定义物理设备如何传输数据
http发展历史http并发数?
最初0.9
只有get,没有header.
1.0版本
增加了很多命令post等
增加header,code status
增加了缓存
1.1
持久链接
pipeline
增加了host和其他一些命令
通过字符串传输
http2
数据以 二进制传输
发送请求不需要按照顺序来
头信息压缩以及推送等提高效率的功能
服务端还可以主动发送、推送是并行的不是串行的
http 三次握手
http -->tcp connection-->服务器
http:不存在链接概念的, 只有请求和响应的(他是数据包),经过传输通道的,这个通道在tcp里面
tcp:他是可以发送多个http,tcp链接三次握手是非常消耗的,
http2:http2是可以并发的
三次握手
SYN:同步序列编号,ACK=确认号字符 SEQ=序号
1.客户端向服务端发送 SYN=1,Seq=x
2.服务端是客户端发送 syn =1,ack=x+1 seq =y
3.客户端向服务端发送 ACK=Y+1,seq=Z
为什么要三次握手
防止服务端开启无用的链接,减少服务器开销
网络传输是有延时可能会丢失数据包,而且客户端到一定时间就会关闭
URL,URI,URN区别
URI:包含url和urn,统一资源标志符:识别这些位置用来标识互联网的信息资源
URN:永久统一资源定位符 资源移动还能找到
URL:统一资源定位器 http://
HTTP头信息及相关介绍
general首行
Access-control-Allow-Origin:"*"
Access-control-Allow-Header:""预请求
Access-control-ALLow-Methods:""
Access-Control-Max-Age:""请求跨域最长时间
为什么要跨域:保证安全
允许content-type
text-plagin
application/x-ww-form-urlencoded
multipat/form-data
http缓存
Cache-Control
public:http经过地方都可以缓存
private:发起请求浏览器才可以缓存
no-cache:本地可以存缓存但是要经过服务器端验证之后才可以使用
到期
max-age
s-maxage:在代理服务器才会生效
ma-stale:虽然缓存已经过期了,但是在max-stale时间内还是可以请求的
重新验证
must-revalidate:当时间过期是必须向服务器端
proxy-revalidate::用在缓存服务器
其他
no-store:不能缓存
no-transform:不允许压缩等
缓存验证头
last-modified
上次修改时间
配合if-modifiled-since或者if-unmodified-since
请求资源返回上面有header中last-modified指定了一个时间,在下次请求就会用带上last-modified,通过if-modified-since带来的值对比这个值若是一样就可以告诉浏览器可以使用缓存
Etag 更加严格验证
数据签名 :资源只要有任何修改就会不一样(用hash计算得到一个唯一值)
配合if-Match或者if-non-match
对比资源签名判断是否是否用缓存
cookie或者sessiion
cookie
键值对
下次请求就可以带上,cookie是返回多个
属性
max-age和expires设置过期时间
Secure只有https的时候才可以发送
httpOnly无法通过document.cookie
短连接和长链接
connection:
tcp限制并发:最多会有6个
保证长连接
connection:keep-alive
数据协商
请求accept我想要什么数据类型
accept-encoding:服务端压缩方式gzip
accept-language:要什么语言
user-Agent:浏览器相关信息,对于pc端的user-Agent和移动端浏览器是不一样的,还有就是适应不同的浏览器
响应content-type
content-type:返回的数据格式
content-Encoding:
content-Language:
SIZE
上面header和body还有首行的信息
下面body
http的redirector
当资源移动时,他会告诉浏览器搬到那个地方
http优化
利用负载均衡优化和加速HTTP应用
利用HTTP Cache来优化网站
http相关总结
最新推荐文章于 2021-11-14 13:53:56 发布