【计算机网络】HTTP 与 HTTPS ( HTTPS 简介 | HTTP 通信过程 )
文章目录
- 一、HTTPS 简介
- 二、HTTP 通信过程
一、HTTPS 简介
HTTPS 协议就是在 HTTP 协议的基础上 , 增加了一个 SSL 外壳 , 对 HTTP 协议进行加密 ;
HTTP 协议传输数据时 , 传输的就是 明文 , 如果抓包或者截获后 , 可以直接看到传输的数据内容 ;
HTTPS 协议在网络传输时 , 传输的内容是 加密后的内容 , 不是明文 , 更不容易被截获 ;
HTTP 特点 :
① 无状态 : 服务器 不存储客户端的状态 , 客户端每次请求服务器 , 都当做新的客户端第一次请求 ; 爬虫可以随意无限次地抓取网站信息 ;
② 无连接 : 客户端每次请求服务器端 , 数据传授完毕后 , 连接断开 ; HTTP 是基于 TCP 协议的 , 每次连接需要 333 次握手 , 每次断开连接需要 444 次挥手 , 频繁进行连接断开操作 , 繁琐 , 延迟高 , 空耗系统资源 ;
③ 安全性差 : 传输的数据是 明文 , 无法确保数据保密性 ; 客户端和服务器端不验证对方身份 , 无法确保数据完整性 ;
④ 快速 , 灵活 , 高效 ;
HTTPS 特点 :
① 安全性强 : 传输数据加密 , 中间截获 , 无法进行解密 ;
② 身份验证 : 通过 SSL 认证证书 , 确认通信的 客户端 与 服务器 双方的身份 ;
③ 数据完整性 : 加密后的数据能防止被截获修改 ;
二、HTTP 通信过程
发送 HTTP 请求 , HTTP 基于 TCP , 因此需要先建立 TCP 连接 ;
① 建立 TCP 连接 : TCP 连接的建立需要 333 次握手机制 ;
- 客户端 -> 服务器端 : 你能听到我说话吗 ?
- 服务器端 -> 客户端 : 我能 , 你能听到我说话吗 ?
- 客户端 -> 服务器端 : 我能 , 开始发送数据 ;
② 客户端浏览器向 Web 服务器发送请求报文 : 请求头命令就是下图 " 请求行 " 信息 ; 如
GET / HTTP/1.1
③ 客户端浏览器发送请求头信息 : 请求头信息就是下图中的 " 请求头部 " 数据 , 由若干键值对组成 ; 如下示例
Host: rucfd.ruc.edu.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
If-None-Match: "b7f-5b575595fe630-gzip"
If-Modified-Since: Wed, 02 Dec 2020 06:28:18 GMT
完整的请求报文信息 :
GET / HTTP/1.1
Host: rucfd.ruc.edu.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
If-None-Match: "b7f-5b575595fe630-gzip"
If-Modified-Since: Wed, 02 Dec 2020 06:28:18 GMT
④ Web 服务器向客户端浏览器会送应答第一部分 : 只回送 " 响应行 " 数据 ; 如 :
HTTP/1.1 200 OK
⑤ Web 服务器向客户端浏览器回送应答第二部分 : 回送 " 响应头部 " 信息 ; 如 :
Server: none
Date: Mon, 21 Jun 2021 05:15:56 GMT
Content-Type: text/html
Content-Length: 1104
Connection: keep-alive
Last-Modified: Wed, 02 Dec 2020 06:28:18 GMT
ETag: "b7f-5b575595fe630-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
响应报文完整示例 :
HTTP/1.1 200 OK
Server: none
Date: Mon, 21 Jun 2021 05:15:56 GMT
Content-Type: text/html
Content-Length: 1104
Connection: keep-alive
Last-Modified: Wed, 02 Dec 2020 06:28:18 GMT
ETag: "b7f-5b575595fe630-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
⑥ Web 服务器向客户端浏览器回送应答第三部分 : 回送用户请求的实际数据 , 在之前 " 响应头部 " 中的 Content-Type 中设置有用户请求的类型 , 是 text/html 类型 , 这里会送的就是该 html 文本数据 ;
Content-Type: text/html
⑦ Web 服务器关闭 TCP 连接 : 444 次挥手 ;
【计算机网络】HTTP 与 HTTPS ( HTTPS 简介 | HTTP 通信过程 )相关推荐
- 网络协议从入门到底层原理(8)HTTPS(成本、通信过程、TLS1.2的连接,配置服务器HTTPS)
HTTPS SSL / TLS OpenSSL HTTPS的成本 HTTPS的通信过程 TLS 1.2 的连接(ECDHE密钥交换算法) ① Client Hello ② Server Hello ③ ...
- Nginx 配置 SSL 及 HTTPS 协议通信过程
一.前言 基础知识 1.1 公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密算法,它的加密解密过程如下: 加密:通过加密算法和公钥对内容( ...
- 【计算机网络】--- HTTP与HTTPS协议详解
HTTP与HTTPS协议详解 一.URL 二.HTTP协议 三.HTTPS协议 四.HTTP与HTTPS区别(重中之重) 五.如何正确选择HTTP协议和HTTPS协议 引言:当我们打开一个网页时,奇妙 ...
- 从wireshake分析http和https的通信过程
参考文章: Wireshark基本介绍和学习TCP三次握手 [技术流]Wireshark对HTTPS数据的解密 Wireshark/HTTPS Journey to HTTP/2 以TCP/IP协议为 ...
- CA认证的原理和流程以及https完整通信过程
故事引入--什么是CA证书 看过一些博客,写的比较形象具体. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办 ...
- 【基础补充】http/https协议及通信过程
目录 1 HTTP协议与HTTPS协议 1.1 HTTP协议概述 1.2 HTTPS协议概述 1.3 HTTPS与HHTP对比 2 通信过程 3 URI和URL的区别 4 报文组成 4.1 请求 4. ...
- 【校招VIP】计算机网络之HTTP和HTTPS
考点介绍: HTTP和HTTPS协议是校招高频考点之一,HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需 ...
- HTTPS加密及通信过程
Http & Https Http: 超文本传输协议,位于应用层,常用于web浏览器和服务器之间的通信. Https: 位于安全层上的HTTP,在Http下面提供了一层传输级的密码安全层(SS ...
- SSL/TLS协议的运行原理浅析—https通信过程及CA证书诠释
互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度.而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL TLS协议变得异常复杂.理清https原理与CA证书体系 互联网的通信 ...
最新文章
- P1108 低价购买
- 机器人学习--栅格地图(occupancy grid map)构建(部分代码解析)
- 【NLP】毕设学习笔记(九)长短期神经网络LSTM
- Build Path
- 怎样提高文章原创度,被快速收录?
- 1、RFID标签介绍
- FLUENT中初识UDF——UDF的简单使用(1)
- SONiC(3):手动运行docker ptf
- 健身教练教你跑步减肥的正确方法
- java+添加分割符_如何给数字添加分隔符
- android:绘图
- 右键新建缺少word、excel选项问题处理
- 毕业生--参考文献查询网站及方法(中文核心及以上)
- 谷歌账户二次验证_为您的Google帐户和Microsoft帐户设置双重身份验证
- 优秀文章及学习网站之收集手册
- 礼品卡配合U盘,美国一公司遭受BadUSB真实攻击
- Tsukinai的第七十四个程序(输出字符串中的元音字母)
- 退一步海阔天空——不算结局的结局
- 笔记本出现数字小键盘怎么解决,出现方形带斜杠123
- Git上传文件代码到GitHub
热门文章
- [全]php-redis函数使用
- hadoop入门学习系列之三mysq+php+mysqladmin安装
- 约瑟夫环 单向循环链表实现
- Springmvc与Struts2不同
- asp.net如何读取Excel文件
- WPS文本域替换不完全的问题
- 关于C#中timer类 在C#里关于定时器类就有3个
- SpringCloud学习(七)高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)
- mybatis学习(十一)——springmvc++spring+mybatis整合
- Apache OFBIZ高速上手(二)--MVC框架