15分钟巩固你的HTTP知识体系

本文概述了HTTP协议的基础知识,包括其发展历史、三次握手过程、URI和URL的区别、请求方法和响应状态码。还深入探讨了跨域问题、HTTP缓存策略以及HTTPS的安全性。通过学习,读者将对HTTP有更深入的理解,能够更好地优化前端性能。
摘要由CSDN通过智能技术生成

15分钟巩固你的HTTP知识体系,和谁扯皮都没问题

一、简介

前端工程师打交道最多的就是浏览器,不管做什么都离不开浏览器,其中HTTP协议往往会被我们忽略,但其实资源缓存、CDN加载、页面性能优化等等都离不开对HTTP协议的了解。

最简单的例子:

  1. 输入url打开网页
  2. AJAX获取数据
  3. img标签加载图片

从输入URL到看到页面发生了什么?

DNS解析
发起TCP连接
发送HTTP请求
服务器处理请求并返回HTTP报文
浏览器解析渲染页面
连接结束。
其实,我们了解这个过程对前端的性能优化是有意义的,在这个过程中找到优化点,去缩短请求的时间,从而去加快web前端的访问速度,提升性能
详细参考:https://juejin.cn/post/6844903832435032072

二、HTTP协议基础及发展历史

在这里插入图片描述
HTTP协议的发展历史

http/0.9:

    (1)只有一个命令get

    (2)没有header等描述数据的信息

    (3)服务器发送完毕就关闭TCP连接

http/1.0:

    (1)增加了很多命令(如get、post、put、delete、head等)

    (2)增加响应状态码和header数据描述信息

    (3)多字符集支持、多部分发送、权限、缓存等

http/1.1:

    (1)持久链接(http1.0中每发起一次http请求,就要进行一次TCP连接;减少三次握手的消耗,提高性能   tcp 建立服务器与客户端的连接不再关闭)

    (2)pipeline(一次TCP连接可以发送多个http请求,但是服务端同一时间只能处理一个http请求,处理完成后才能处理下一个请求,即服务端处理请求是串行的)

    (3)增加host与其他一些命令(增加了host头部字段,可以在同一物理服务器上跑多个不同Web服务器)

http/2.0:

    (1)所有数据以二进制传输

    (2)同一个连接里面发送多个请求不再需要按照顺序来,即服务端处理请求是并行的

    (3)对头部字段进行压缩,减少带宽占用量;及推送功能(服务端可以主动发送信息,根据http请求的HTML的文件主动推送文件中需要用到的js文件和css文件,不用等到客户端解析渲染时再请求,大大提高了效率)

创建一个http服务
HTTP的三次握手
http是不存在连接这个概念的,只有请求与相应
请求和响应都是数据包,需要一个传输的通道,这个通道由TCP创建。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值