| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> HTTP/HTTPS -> 正文阅读 |
|
[网络协议]HTTP/HTTPS |
参考文章:HTTP(超文本传输协议)的通俗理解_Huang_JunJun的博客-CSDN博客 小林coding小林coding的博客_CSDN博客-图解计算机网络,图解操作系统,C/C++领域博主 目录 Http超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。
所谓的「传输」,很好理解,就是把一堆东西从 A 点搬到 B 点,或者从 B 点 搬到 A 点。别轻视了这个简单的动作,它至少包含两项重要的信息。 HTTP 协议是一个双向协议。
HTTP 传输的内容是「超文本」。我们先来理解「文本」,在互联网早期的时候只是简单的字符文字,但现在「文本」。的涵义已经可以扩展为图片、视频、压缩包等,在 HTTP 眼里这些都算做「文本」。 再来理解「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体最关键有超链接,能从一个超文本跳转到另外一个超文本。 HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,在经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。 Http的优点
Http的缺点
Http1.1的改进
Http1.1的缺点
如何优化HTTP1.1?减少HTTP请求
不过再怎么优化Http1.1还是有很大局限的,所以有了HTTP2 Http2的改进
Http2的缺点多个Http请求复用在一个TCP,下层TCP协议不知道有多少个HTTP请求,一旦丢包,触发TCP重传机制,这样在一个TCP连接中所有的HTTP请求都必须等待这个丢了的包被重传回来 Http3队头阻塞,多路复用的问题都是基于TCP传输层的问题,所以HTTP/3把HTTP下层的TCP协议改成了UDP
Http和Https的区别
Https握手TLS第一次握手 客户端发送一个Client Hello消息,消息里有客户端使用的TLS版本号、支持的密码套件列表、以及生成的随机数(用于生成对称加密密钥) TLS第二次握手 服务端收到Client Hello消息 确认TLS版本号是否支持,从密码套件列表中选择一个密码套件、生成一个随机数,返回Server Hello消息。消息里有服务器确认的TLS版本号,随机数,合适的密码套件。至此客户端和服务端就已确认了TLS版本和使用的密码套件,你会发现双方都有一个随机数并传递给了对方,随机数主要是为了后续生成会话密钥,然后服务端为了证明自己的身份会发送Server Certificate给客户端,这个消息里含有数字证书,随后服务端发了Server Hello Done 消息,表示本次打招呼完毕 TLS第三次握手 客户端验证完证书后,认为可信则继续往下走,接着客户端会生成一个新的随机数,用服务器的RSA公钥加密该随机数,通过Change Cipher Key Exchange消息传给服务端,服务端收到后用RSA私钥解密,得到客户端发来的随机数 至此,客户端和服务端双方都共享了三个随机数 于是双方根据已得到的随机数生成会话密钥,用于对称加密,用于对后续HTTP请求的数据加密,生成会话密钥后,客户端发送一个Change Cipher Spec,告诉服务端开始使用加密方式发送消息,然后客户端再发一个Encrypted Handshake Message消息,把之前发送的所有数据做个摘要,再用会话密钥加密一下让服务器做个验证,验证加密信息是否可用和之前握手信息是否被冲突篡改过。Change Cipher Spec 消息之前传输的都是明文,之后都是对称加密的密文 TLS第四次握手 服务器也是同样的操作,发Change Cipeher Spec 和 Encrypted Handshake Message 消息 如果双方都验证加密和解密没问题,那么握手正式完成,最后就用会话密钥加解密HTTP请求和响应了。 Https如何优化?
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:45:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |