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

news2024/11/21 0:35:51

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的工作原理

     

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基础15:npm、yarn、pnpm

npm2 用 node 版本管理工具把 node 版本降到 4,那 npm 版本就是 2.x 了。 执行 npm init, npm install express,可以看到node_modules目录如下: 可以看到,npm2的node_modules是嵌套的。 这种方式的优点就是模块依赖关…

NDIR二氧化碳传感器原理介绍

文章目录1. 引言2. 分类3. 红外气体传感原理3.1 朗伯-比尔定律3.2 非分光红外(NDIR)法检测原理3.3 浓度、温湿度标定3.4 响应时间研究4. 参考文献1. 引言 环境领域:近些年,二氧化碳是引起温室效应的主要气体,因此引起…

项目可交付成果的质量管理该怎么做?

通往项目最终服务或产品的道路往往是由许多临时可交付成果铺就的。每一个可交付成果本身都必须完整、质量合适并与所有其他可交付成果协调,同时确保: ● 保持客户和主要利益相关者所要求的质量水平。 ● 项目可交付成果是根据客户的规格和项目目标开发…

使用jenkins自动打包构建Maven项目

1.Jenkins是什么(借鉴官网) Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序 2.Jenkins下载安装 …

指纹和虚拟机哪个好用?两者之间的区别是什么?

2022年了,相信大家对指纹浏览器都不陌生了,很多做跨境电商、海外社媒营销、联盟营销的企业都会借助指纹浏览器来多账号批量管理。而在指纹浏览器没出现之前,大部分企业都会使用虚拟机来解决浏览器环境安全问题。所以指纹浏览器和虚拟机到底哪…

EN 14967:防水沥青防潮层—CE认证

防水沥青防潮层CE认证(欧盟强制认证)-简介 在欧盟市场“CE”标志属强制性认证标志,以表明产品符合欧盟《技术协调与标准化新方法》指令的基本要求。这是欧盟法律对产品提出的一种强制性要求。 在防水沥青防潮层上加贴CE标志不但可…

2021年全国职业院校技能大赛高职组“软件测试”赛项—“阶段二竞赛任务书”

2021年全国职业院校技能大赛高职组 “软件测试”赛项—“阶段二竞赛任务书” 2021年6月 软测讨论611474045 一、竞赛时间、内容及成绩组成 (一)竞赛时间 本阶段竞赛时间共为3小时,参赛选手自行安排任务进度,休息、饮水、如厕…

操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁

操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开…

基于servlet的校园车辆管理系统

开发环境 eclipsemysql5.7jdk1.8 系统简介 基于Web的校园车辆管理系统主要用于对校园内的车辆进行管理,基本功能包括:人员信息管理模块,车位信息管理模块,IC卡信息管理模块,固定车辆管理模块,临时车辆管…

Java_继承

作者:爱塔居的博客_CSDN博客-JavaSE领域博主 专栏:JavaSE 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结一、为什么需要继承 🍸继承最大的意义是:对代码可以进行复用。 Java中使用类对现实世界…

Idea下载及配置

1、下载Vscode 1.1、官网 https://code.visualstudio.com/1.2、替换链接 将下载地址中的 az764295.vo.msecnd.net 更换为 vscode.cdn.azure.cn 使用国内的镜像服务器加速 https://vscode.cdn.azure.cn/stable/6261075646f055b99068d3688932416f2346dd3b/VSCodeUserSetup-x6…

【好文鉴赏】面试官说你回答的不够深入,怎么办?

关键词:[产品经理] [面试] 原文链接:https://coffee.pmcaff.com/article/3665424751688832/pmcaffutm_source 前言 生动,往往源于对事实的诠释; 面试官说逻辑力很强、沟通表达也很优秀,但在面试时效果并不太好&…

图片添加边框和文字怎么弄?图片编辑在线教学

大家平时在拍完照片后,会对它进行一些编辑处理吗?像我每次拍完照,都会对图片进行一些后期处理,有时也会给图片添加一些边框或者文字,美化图片并增加图片信息量。那你们平时都是怎么给图片加上边框和文字的呢&#xff1…

广和通5G AIoT模组引领亮相2022国际物联网展(IOTE),智赋行业数字化新价值

11月15-17日,2022国际物联网展(IOTE)于深圳盛大启幕,本届展会汇聚众多物联网行业大咖,共同展示并探讨物联网产业链的创新实践与成果。广和通以“5GAIoT深度融合,创新智造未来”为主题亮相现场。本次广和通展…

UI组件DevExpress ASP.NET Core v22.1亮点 - 甘特图、UI组件全新升级

DevExpress ASP.NET Web Forms Controls拥有针对Web表单(包括报表)的110种UI控件,DevExpress ASP.NET MVC Extensions是服务器端MVC扩展或客户端控件,由轻量级JavaScript小部件提供支持的70个高性能DevExpress ASP.NET Core Contr…

深入Spring 5 事务原理与源码分析【精品分享】

从一个编程式事务开始 Spring的声明式事务涉及到Bean的注入还有动态代理相关的知识,门槛会相对高一些。为了更容易理解事务,我们先从编程式事务的例子开始,逐步揭开Spring事务神秘的面纱。 //一个简单的编程式事务的例子Autowiredprivate Pl…

Linux常用工具及服务(ssh,rsync)

目录 一、SSH服务远程终端连接工具 1、SSH的登录原理 2、SSH基本用法 2.1 基本语法: 3、ssh服务认证类型 3.1 基于口令认证 3.2 基于密钥认证 4、ssh服务常见配置 4.1 常见配置 5、ssh客户端附带的远程拷贝scp命令 5.1 基本语法 二、Rsync远程同步及备份工…

k8s的接口文档——swagger-ui服务

文章目录1. 获取配置文件2. 启动swagger-ui2.1 用docker部署2.2 用docker-compose部署2.3 在k8s平台部署1. 获取配置文件 开启k8s的api临时端口 说明: 为导出k8s集群的api信息作为swagger-ui的配置文件,我们临时开一个api的临时端口该端口:只…

Qt 中设置窗体(QWidget)透明度的几种方法

Qt 中设置窗体(QWidget)透明度的几种方法 1. 设置窗体的背景色 在构造函数里添加代码,需要添加头文件qpalette或qgui QPalette pal palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal); 通过设置窗体的背景色来实…

连花清瘟卖断货?近一个月解热药价格暴涨33%,销额超206万元

近日,“连花清瘟生产商以岭药业正在疯狂招短期工”的消息登上热搜,以岭药业一度涨停。此外,石家庄其他感冒类药品也迎来线上线下一同销量大涨。 为此,鲸参谋特意查询了京东平台近一个月“解热镇痛”类药品的销售数据。可以看到&am…