美文网首页
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