美文网首页
java面试知识总结--http请求过程

java面试知识总结--http请求过程

作者: 爱编程的凯哥 | 来源:发表于2019-03-17 14:25 被阅读0次

前言

正所谓金三银四,现在三月份,正是技术面试的黄金时节,但如何找到合适的工作,一直让我们程序员头疼,不知道你有没有类似的困扰呢?
本系列就是对于java面试的常见知识总结内容,面试官不一定会问,但一般来说都是你必须要会的哦~
好了,先来看下http一次请求过程中,都发生了什么吧!

分析

http请求

主要包含六步

  1. 域名解析

  2. 建立tcp链接,三次握手确定双方协议一致,可通信

  3. 发送http请求数据包

  4. 服务器处理请求,组装返回数据包

  5. 客户端接收服务端返回数据,解析数据,对于js/css等静态资源多线程下载

  6. 浏览器客户端渲染页面

  7. 完成

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

相关文章

网友评论

      本文标题:java面试知识总结--http请求过程

      本文链接:https://www.haomeiwen.com/subject/tzapuqtx.html