301和302的区别,http2.0与http1.0的区别

301 永久性重定向。该状态码表示请求的资源已被分配了新的url,以后应使用资源现在所指的url.也就是说如果已经把资源对应的url保存为书签了,这时应该按location首部字段提示的url重新保存。

302 临时性重定向:该状态码表示请求的资源已经被分配了新的url,希望用户本次请求能使用新的url.302和301很相似,302表示的url并不是永久性移动,换句话说就是url还有可能发生变化。

http--超文本传输协议是一个用于传输分布式.协同.超媒体信息系统的应用层协议。

http协议是用于从www服务器超文本到本地浏览器的传送协议。

http1.0

规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个tcp连接。

服务器完成请求处理后立即后立即断开tcp连接,服务器不跟踪每个客户也不记录过去的请求。

状态码.多字符集支持.多部分发送.权限.缓存.内容编码.数据格式

引入post和head命令

每次通信必须包括头信息,用来描述一些元数据。

缓存:expires是http1.0提出的一个表示资源过期时间的Header,它描述的是一个绝对时间,由服务器返回

http/1.1

cache-control描述的是一个相对时间,在进行缓存命中的时候,都是利用客户端时间进行判断,所以相比较expires,cache-control的缓存管理更有效,安全一些。也可以同时启用,当response-header中,expires和cache-control同时存在时,cache-control优先级高于expires

支持长连接,在一个tcp连接上可以传送多个http请求和响应,减少了建立和关闭连接的消耗和延迟。

新增了许多动词方法:put.patch.head.options.delete

http1.1版的头信息肯定是文本,数据体可以是文本,也可以是二进制。

http/2是一个彻底的二进制协议。并且统称为帧。

http/2复用tcp连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应。而且不用按照顺序一一对应这样就避免了"队投阻塞"。

http/2.0引入了头信息压缩机制。一方面,头信息使用gzip或compress压缩后再发压缩后再发送;另一方面,客户端和服务器同时维护一张头信息表,所有字段都会存入这个表,生成一个索引号,以后就不发送同样字段了,只发送索引号,这样就提高速度了。

http1.1缺点

在同一个tcp连接里,所有的数据通信是按次序进行的。服务器只有处理完一个回应,才会进行下一个回应。----对头阻塞

两种方法:一是减少请求数,而是同时多开持久连接。比如合并脚本和样式表,将图片嵌入css代码。



你可能感兴趣的:(301和302的区别,http2.0与http1.0的区别)