HTTP -- 必知必会前端知识

1. TCP 三次握手与四次挥手

  • 三次握手
    目的:(建立连接) 为了防止server端一直等待,浪费资源。
    在这里插入图片描述
  • 四次挥手
    目的: (断开连接) 中间两步: ACK是发送数据并没有关闭的意思。只有收到fin才表示关闭连接。
    time_out阶段:主动关闭的一方在回复完对方的挥手后进入一个长期的状态,这个标准持续的时间是4分钟(2MSL)。
    在这里插入图片描述
    参考链接:跟着动画来学习TCP三次握手和四次挥手

2. HTTP 与HTTPS

  • HTTP:超文本传输协议,是一个基于请求与响应模式的、无状态的、应用层的协议
  • HTTP 1.1 特点: 1.持续连接的机制 2.管线化(可同时发送多个HTTP请求)3. 断点续传
  • HTTPS:HTTP+ssl加密处理
    参考: 谈谈 HTTPS

3. HTTP缓存

目的:有利于web性能优化
内容:(Catch-Control,Expires,ETag)

  • Catch-Control:max-age=30 表示客户端将该缓存最多保存30s
    浏览器请求时发现是相同的URL,在设置时间内,直接从内存里返回已经缓存的数据,没有向服务器发送请求。
  • Expires:是以前用来控制缓存的http头。
    响应头包含日期/时间(本地时间,不靠谱),即在此之后,响应过期。

两者的区别:
1. Catch-Control 设置时间长度
2. Expires 设置时间点

  • Etag : 设置Etag,下一次请求时,浏览器会把上一次响应的那个Etag的值放到if-None-Match里,如果请求和响应的相同,说明不需要重新下载这个js文件,name返回304(Not Modifined),直接使用缓存内容。

与Catch-Control的区别:

  1. Catch-Control:直接不发送请求
  2. Etag:发送请求有响应,但不下载响应体。

4. GET 与POST的区别

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章