前言
正所谓金三银四,现在三月份,正是技术面试的黄金时节,但如何找到合适的工作,一直让我们程序员头疼,不知道你有没有类似的困扰呢?
本系列就是对于java面试的常见知识总结内容,面试官不一定会问,但一般来说都是你必须要会的哦~
好了,先来看下http一次请求过程中,都发生了什么吧!
分析
http请求主要包含六步
-
域名解析
-
建立tcp链接,三次握手确定双方协议一致,可通信
-
发送http请求数据包
-
服务器处理请求,组装返回数据包
-
客户端接收服务端返回数据,解析数据,对于js/css等静态资源多线程下载
-
浏览器客户端渲染页面
-
完成
http版本
1、HTTP 0.9
HTTP 0.9是第一个版本的HTTP协议,已过时。它的组成极其简单,只允许客户端发送GET这一种请求,且不支持请求头。由于没有协议头,造成了HTTP 0.9协议只支持一种内容,即纯文本。不过网页仍然支持用HTML语言格式化,同时无法插入图片。
2、HTTP 1.0
相对于HTTP 0.9 增加了如下主要特性:
请求与响应支持头域
响应对象以一个响应状态行开始
响应对象不只限于超文本
开始支持客户端通过POST方法向Web服务器提交数据,支持GET、HEAD、POST方法
支持长连接(但默认还是使用短连接),缓存机制,以及身份认证
3、HTTP 1.1
HTTP 1.1引入了许多关键性能优化:keepalive连接,chunked编码传输,字节范围请求,请求流水线等
4、HTTP 2.0
HTTP 2.0是下一代HTTP协议,目前应用还非常少。主要特点有:
- 支持多路复用(二进制分帧)
- 头部压缩
- 随时复位
- 服务器端推送数据流,(比如页面中的js、css啥的)
- 优先权和依赖
参考资料:
https://www.cnblogs.com/andashu/p/6441271.html
https://blog.51cto.com/linux5588/1351007
网友评论