IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP协议保证可靠传输http和https -> 正文阅读

[网络协议]TCP协议保证可靠传输http和https

TCP协议保证可靠传输

校验和

超时重传

流量控制

拥塞控制

Http

? Http:超文本传输协议,一种用于分布式,协作式和超媒体信息系统的应用层协议.简单来说就是一种发布和接收HTML页面的方法

http发展史

1991年 http/0.9

1996年 http/1.0

1999年 http/1.1

2015年 http/2.0

http基本优化

影响一个http网络请求的因素主要有两个:带宽和延迟

**带宽:**现在网络建设已经非常出色,不再担心带宽影响网速

延迟:

  • 浏览器阻塞:浏览器对于同一个域名,连接数有限,超过浏览器最大连接数限制,后续请求就会被阻塞
  • DNS查询:浏览器需要知道目标服务器的IP才能建立连接,将域名解析为IP的这个系统成为DNS,通常利用DNS缓存结果来达到减少这个时间的目的
  • 建立连接:http是基于tcp协议的,浏览器最快也要经历三次握手后才能捎带http请求报文,达到真正建立连接,但是这些连接无法复用会导致每次请求都得经历三次握手和慢启动,三次握手在高延迟情况下影响较为明显,慢启动则对文件类请求影响较大

http1.0和http1.1的区别

  • 缓存处理:在http1.0中主要使用header里的Expires,If-Modified-Since来作为缓存判断标准;http1.1则引进了更多的缓存控制策略(If-Match,If-None-Match)
  • 带宽及网络连接的使用:http 1.0中存在浪费带宽的现象,http1.1在请求头引入了range头域,他允许只请求某个部分,返回码是206,方便开发者自由选择以便充分利用带宽和连接
  • 错误通知管理:http1.1新增了24个错误状态码,如409 表示请求的资源和资源的当前状态冲突;410表示服务器上某个资源被永久性删除
  • Host头处理:在http1.0中认为每台服务器都绑定一个唯一的IP地址,因此在请求消息中的url没有传递主机名;http1.1请求和相应消息都支持Host头域,且请求消息中没有host头域会报 400 Bad Request
  • 长链接:http1.1支持长链接和请求的流水线处理;在一个tcp连接上可以传送多个http请求和响应,减少建立和关闭连接的消耗和延迟,在http1.1默认开启connection:keep-alive

http2.0和http1.x相比的新特性

  • 新的二进制格式
  • 多路复用:一个连接上一个request对于一个id,一个连接可以有多个request并行执行
  • header压缩:http2.0采用encoder减少需要传输的header大小
  • 服务器推送:server push

http2.0的多路复用和http1.x的长连接区别

http1.1若干请求队列串行化单线程执行

http2.0 多个请求在一个连接上并行执行

Https

? Https:超文本传输安全协议,一种通过计算机网络进行安全通信的传输协议.Https经由Http进行通信,但通过了SSL/TLS进行数据包加密,开发Https的主要目的,是提供网站服务器器的身份验证,保护数据交换的隐私和完整性.

https工作流程:

在这里插入图片描述

1.客户端向服务器端发起https请求,连接到443端口

2.服务器端有一个密钥对(公钥和私钥),用来进行非对称加密,服务器端一直保存这私钥,不能泄漏;公钥发送出去

3.服务器端将公钥发送给客户端

4.客户端接收到公钥之后,检查其合法性,若公钥不合格,则传输中断(提示证书不合格);公钥合格,则客户端生成一个客户端密钥,然后用服务器的公钥对客户端密钥进行非对称加密成密文,至此,https的第一次http请求结束

5.客户端发起https的第二个http请求,将加密后的客户端密钥发送给服务器

6.服务器接收到客户端发送来的密文之后会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文

7.然后服务端将加密后的密文发给客户端

8.客户端接收到服务器发来的密文,用客户端密钥进行对称解密,得到服务器发送的数据,这样https的第二个http请求结束,整个https传输结束.

Http和Https的区别

1.Http数据是未加密的,明文传输,安全性差;Https(Http+SSL)数据加密,安全

2.使用Https需要到CA申请证书

3.http页面相应速度比https快,主要是因为Http使用tcp三次握手建立连接,客户端和服务器需要交换3个包,而https除了tcp的3个包,还要加上SSL的9个包,一共12个包

4.http和https连接方式完全不同,端口号 http是80;https是443

5.https就是构建在SSL和TLS之上的http协议,需要消耗的资源更多

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-02 11:45:12  更:2021-09-02 11:45:21 
 
开发: 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/25 22:38:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码