HTTP

  • 最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就把看过的一些比较好的东西和自己的一些理解二次加工组织一下然后交流分享,一起学习进步,对了这个面试好像经常问到。

    原文收录在我的 GitHub博客 (https://github.com/jawil/blog) ,喜欢的可以关注最新动态,大家一起多交流学习,共同进步,以学习者的身份写博客,记录点滴。

    通俗理解:

    但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我们举一个现实生活中两个人进行

    • 8-23 15:08 更新 - 补充 前戏后的协商 —— 一些优化
    • 8-22 14:44 更新 - 补充修正错误 完事后的讨论 - 各种途径的访问

    前言

    做为一个正宗的科班出身, 《计算机网络》 这门课程肯定是学过的,但到底有没有学细学透学明白,就不得而知了。

    依旧是做为一个正宗的科班出身伪前端,在新的互联网寒冬之下又被某互联网公司的面试官喷了。

    虽然曾经还是比较仔细的看过 HTTP 相关的东西,但长时间没有复习加上当时没有做笔记、写博客沉淀还是有很多的生疏。

    回去之后查了一下相关的资料,算是做一次知识的沉淀(造轮子)。

    正文

    1、 304

    打开 Chrome,按下 F12、访问一个曾经访

  • lmk123lmk123/blog· 2 年前 HTTP

    今天项目上线之后,有人反馈部分页面出现了问题,但一刷新就好了。我检查了一下,直接从地址栏进入的时候,html 上加载的是 app.hash-a.js,但一旦刷新,html 加载的就是 app.hash-b.js 了。

    简而言之,浏览器将 index.html 这个文件缓存下来了,随后在开发者工具的 Network 面板里也看到,直接在浏览器地址栏进入 index.html 时,HTTP 响应是 200(from cache),但一旦刷新,就变成 200(ok) 了。

    于是我打开 chrome://cache/,果然在里面找到了我们项目的网址,点进去看到 HTTP 响应头是:

    HTTP/1.1 
  • 认识 HTTP 2.0

    HTTP 2.0 来了,从1.1到2.0,递增了一个大版本号,那么 HTTP 2.0 会给我们带来怎么样的技术革新呢?今天我们一起学习了解一下 HTTP 2.0 。


    ## HTTP 2.0 是什么?

    即超文本传输协议2.0版本,虽然协议的名字已经不是那么符合实际了(HTTP 1.0 开始即可传输二进制流等非文本内容)。

    我们来看看它的宣言草稿:

    HTTP 2.0 应该满足如下条件:

    • 相对于使用 TCP 的 HTTP 1.1,用户在大多数情况下的感知延迟要有实质上、可度量的改进;
    • 解决 HTTP 中的“队首阻塞”问题;
    • 并行操作无需与服务器建立多个连接,从而改进

  • jkchaojkchao/blog· 2 年前 HTTP