• 前后端必知必会的HTTP,这份全彩版图解手册可算是给讲透了


    HTTP

    HTTP (HyperText Transfer Protocol),即超文本运输协议。是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
    HTTP常被用于在Web浏览器和网站服务器之间传递信息,以明文方式发送内容,不提供任何方式的数据加密

    特点如下:
    支持客户/服务器模式
    简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快
    灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记
    无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
    无状态:HTTP协议无法根据之前的状态进行本次的请求处理

    另外,HTTP可以说是互联网的基石,我们浏览的网页、刷的视频、玩的游戏,都离不开 HTTP协议,而且热门的Nginx、Apache、gRPC 等服务背后的技术也是由 HTTP 协议支撑的,可以说 HTTP 既常见又重要。

    无论是前端还是后端,都需要了解 HTTP。前端接触较多的是在其上层的 HTTP 协议,包括承载请求的 HTTP 和 HTTPS 协议,而随着前端路由的控制越来越多,深刻理解 HTTP 的 Header、Body 等属性是很有好处的。

    学好了 HTTP 对于 Web 开发和性能优化等都有用处。比如页面资源的缓存策略,如果对 HTTP 协议不够了解,就没法进行方案的制定或者优化。页面资源加载速度的优化,也同样离不开对 HTTP/2 的了解。

    就这么说吧,如果你不懂 HTTP 协议,就相当于是个只有“半桶水”的程序员

    话虽如此,不少人觉得:“HTTP 协议好简单的啦,还用系统学吗?” “HTTP 不就是请求 / 响应、GET/POST、Header/Body 吗?网络上的资料一抓一大把,有什么问题搜一下就是了。”

    但事实是,就因为这样 HTTP 太常见、太普遍了,很多工作 7、8 年轻的老手,也未必搞得清楚,当年我也是在工作上踩了大坑,所以才下定决心“死磕” HTTP。

    资料看了一大堆,真正有体系的却不多,阿里大牛的《手绘图解HTTP》,算是一个,给我启发很大,先分享一份他总结的「HTTP 知识图谱」,把零散的概念系统地整理在一起,建议收藏:

    最近我又在2刷《手绘图解HTTP》,毫不夸张地说,是我见过含金量最高的HTTP学习资料,兼具广度和深度,真正做到了“透视”,能让你深刻了解 HTTP 的底层运行机制、工作原理,讲得明白又系统。

    由于 HTTP 应用得非常广泛,几乎涉及到所有的领域。所以阿里大牛的内容不只讲协议本身,还有与它相关的 TCP/IP、DNS、SSL/TLS、Web Server 等都会讲到,而且会把它们打通串联在一起,形成知识链,让你知道它们之间是怎么联系、怎么运行的。

    这个《手绘图解HTTP》是我迄今为止,花最少的时间,用最少的精力,掌握了最多、最全面、最系统的知识。这是多少钱,都买不到的东西。今天小编,推荐给你,千万别错过

    先上目录:

    • 认识HTTP

    • 与HTTP有关的组件
    • 与HTTP有关的协议
    • HTTP请求响应过程
    • HTTP请求特征
    • 详解HTTP报文

       

       

    • HTTP标头
    • HTTP内容协商
    • HTTP认证
    • HTTP缓存
    • HTTP CROS跨域
    • HTTP条件请求
    • HTTP Cookies
    • HTTP的优点和缺点
    • HTTPS为什么会出现

       

       

       

    • 什么是SSL/TLS探究HTTPS
    • Cookie和Session
    • JSON Web Token和Session Cookies的对比

       

    • HTTP和HTTPS的区别
    • HTTP Get和Post区别
    • 什么是无状态协议,HTTP是无状态协议吗,怎么解决

       

    • UDP和TCP的区别
    • TCP三次握手和四次挥手
    • 请你说一下HTTP常见的请求头地址栏输入URL发生了什么
    • HTTPS的工作原理

       

       

  • 相关阅读:
    全国计算机二级考试MySQL有必要考吗
    18-Linux系统服务
    Java知识点
    嵌入式开发环境Vscode开发STM32单片机程序
    dpdk实现dns
    记一次企业微信的(CorpID)和密钥(Secret)泄漏的利用案例
    二次开发真的很难吗?低代码平台有话说
    使用Typora+EasyBlogImageForTypora写博客,无图床快速上传图片
    实在是解决不了来提问一下。UE5,打开项目地变成黑色怎么解决?
    关系的性质(自反,反自反,对称,反对称,传递)
  • 原文地址:https://blog.csdn.net/m0_57042151/article/details/127883877