面试——HTTP协议

HTTP常用方法,状态码,请求报文与响应报文格式

HTTP协议的缺点

安全方面
a、通信使用明文不加密,内容可能被窃听
b、不验证通信方身份,可能遭到伪装
c、无法验证报文完整性,可能被篡改
其他
HTTP头消耗不必要的流量;
不方便主动推送消息(WebSocket,轮询);

HTTPS交互过程

image.png

https://www.jianshu.com/p/ba92b59a6e2e
https://imququ.com/post/optimize-tls-handshake.html

HTTPS的缺点

1.握手阶段造成计算消耗大,交互次数多,影响访问速度;
2.一般网站由HTTP跳转到HTTPS的方式增加了访问耗时;
3.安全算法消耗CPU资源;
4.某些SSL证书要钱;

Connection: Keep-Alive

HTTP1.1中所有请求都默认为长连接(服务端可能有默认连接超时时间)
优点
1.不需要经常建立及关闭连接,节省建立连接的开销;
2.允许HTTP pipelining的请求模式;
3.减少了后续请求的响应时间;

轮询,长轮询,长连接

轮询
客户端定时向服务端发送请求,服务器接到请求后马上返回响应信息并关闭连接。
优点:后端程序编写比较容易。
缺点:请求中有大半是无用,浪费带宽和服务器资源。
长轮询
客户端向服务器发送请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。
优点:在无消息的情况下不会频繁的请求,耗费资源小。
缺点:服务器hold连接会消耗资源。
长连接
在页面里嵌入一个隐蔵iframe,将这个隐蔵iframe的src属性设为对一个长连接的请求或是采用xhr请求,服务器端就能源源不断地往客户端输入数据。 (直接使用Websocket也可以达到相同效果)
优点:消息即时到达,不发无用请求;管理起来也相对方便。
缺点:服务器维护一个长连接会增加开销。

Chunk

服务端一般通过Content-Length字段告诉客户端数据长度,但有时候服务器需要动态生成数据,这时候不可能预先知道内容大小,这时候就可以使用Transfer-Encoding:chunk模式

chunk编码格式如下:
[chunk size][\r\n][chunk data][\r\n][chunk size][\r\n][chunk data][\r\n][chunk size = 0][\r\n][\r\n]

HTTP1.1的管线化

HTTP管线化可以克服同域并行请求限制带来的阻塞,它是建立在持久连接之上,是把所有请求一并发给服务器,但是服务器需要按照顺序一个一个响应,而不是等到一个响应回来才能发下一个请求,这样就节省了很多请求到服务器的时间。不过,HTTP管线化仍旧有阻塞的问题,若上一响应迟迟不回,后面的响应都会被阻塞到。


image.png

HTTP缓存

强制缓存
Expires 到期时间,HTTP1.1使用Cache-Control代替
Cache-Control private/public/max-age/no-cache/no-store
对比缓存
Last-Modified/If-Modified-Since 根据时间
Etag/If-None-Match 根据Etag(生成规则由服务器决定),优先级较高

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,280评论 19 139
  • 面试题目一:在java中一个字符能否表示一个汉字?(考察char代表多少个字节) 答案:在java中一个字符表示1...
    pr0metheus阅读 5,477评论 1 1
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,735评论 6 152
  • 山涧水旁的自由之花——三三和翠翠 把三三和翠翠相提并论,是因为她们两个人给我很多相似的感觉,虽然性格和身世命运都不...
    14广告柳港阅读 3,269评论 0 2
  • 前言:《一只中二喵和他的直男癌主人》以一只喵的视角看小joy的生活,借以表达小joy积极向上的生活态度。 ps.这...
    周小joy阅读 2,435评论 0 1

友情链接更多精彩内容