关于http的几个问题

1.http响应头中的ETage是如何生成的?

ETag 是一个不透明的标识符,由 Web 服务器根据 URL 上的资源的特定版本而指定。如果 URL 上的资源内容改变,一个新的不一样的 ETag 就会被生成。ETag 可以看成是资源的指纹,它们能够被快速地比较,以确定两个版本的资源是否相同

需要注意的是 ETag 的比较只对同一个 URL 有意义 —— 不同 URL 上资源的 ETag 值可能相同也可能不同。

2.如果ETage值改变了,是否意味着文件内容一定改变?

  不一定。ETag 是用于标识资源的唯一标识符,其生成算法可以依赖于资源的内容、版本号、最后修改时间等多个因素。因此,当某个资源的 ETag 值改变时,并不能直接说明该资源的内容已经改变。

  例如,如果一个资源的 ETag 值是基于最后修改时间生成的,那么即使资源的内容未发生任何改变,只要最后修改时间改变了,ETag 值也会相应改变。这种情况下,虽然 ETag 值改变了,但实际上资源的内容并没有改变。

  另外,由于不同服务器和应用程序可能采用不同的方式来生成 ETag,所以即使同样的资源在不同的环境下生成的 ETag 值也可能不同。这种情况下,ETag 值的改变也不能直接说明资源内容已经改变。

  因此,在判断资源是否有更新时,不能仅仅依据 ETag 值的改变,还需要结合其他标识符(例如 Last-Modified 时间戳)进行综合判断。通常情况下,服务器会同时返回 ETag 和 Last-Modified 等标识符,客户端可以根据需要选择使用哪个标识符来判断资源是否有更新。

3.http中 get和post方法的区别?

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。(post传输的数据更大,因为在URl中有长度限制)

post在真正接收数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据(比get更安全)

post用于修改和写入数据,get用来读取数据,获取数据

4. http2和http1.1有什么改进

HTTP2.0(Hypertext Transfer Protocol Version 2)是超文本传输协议的第二版。HTTP 2.0相比于HTTP 1.x,大幅度的提升了web性能,同时向下兼容HTTP1.X协议版本。

Http2.0的核心优势有

1、采用二进制格式传输数据,而非http1.1文本格式,二进制格式在协议的解析和优化扩展上带来了跟多的优势和可能

2、对消息头采用Hpack进行压缩传输,能够节省消息头占用的网络流量,http1.1每次请求,都会携带大量冗余的头信息,浪费了很多宽带资源。

3、异步连接多路复用

4、Server Push,服务器端能够更快的把资源推送到客户端。

5、保持与HTTP 1.1语义的向后兼容性也是该版本的一个关键。

(摘引自  HTTP2.0相比于HTTP1.1,核心优势在哪里-CSDN博客  肖晓晓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值