HTTP、HTTPS
目录
1.HTTP
1.1.概述
1.2.报文结构
1.2.1.请求报文
1.2.2.响应报文
1.3.方法
2.HTTPS
1.HTTP
1.1.概述
HTTP,超文本传输协议,WEB体系选用了该协议作为应用层协议。
1.2.报文结构
1.2.1.请求报文
HTTP的请求报文(request)由四部分组成:请求行(request line)、请求头部(header)、空行和请求数据(request data)
名称 | 作用 |
请求行 | 记录请求方法、URL、HTTP协议版本号 |
请求头 | 以键值对的方式记录一些附加信息,如cookie、编码、host等 |
请求数据 | 请求数据,也叫请求体,不在GET方法中使用,而是在POST方法中使用, POST方法适用于需要客户填写表单的场合。 请求头中存在两个与请求数据相关的重要key:Content-Type和Content-Length。 |
也就是说只有Post请求有请求体,以一个带数据的Post请求在浏览器调试模式中的呈现为例:
1.2.2.响应报文
HTTP的响应报文(response)中最重要的两部分:
- 状态码,记录响应的状态
- 响应体,记录响应的数据,可以是网页(HTML代码)、图片、视频、音频等。
以一个以一个响应在浏览器调试模式中的呈现为例:
1.3.方法
HTTP中总共有GET、POST、PUT、DELETE、CONNECT、HEAD,本来设计的初衷是想让对服务器的每一种操作都有对应的方法,但在实际使用中发现其实GET、POST两个方法就足够了,GET负责向服务器要数据,POST负责向服务器存数据。
GET、POST区别:
名称 | 特点 |
GET | 参数在URL中,数据大小不能超过2KB |
POST | 数据在HTTP报文的“请求数据”这一区域,理论上大小没有上限 |
2.HTTPS
https=http+ssl/TSL,即使用HTTP进行通信,使用SSL/TLS对数据进行保护。
SSL/TLS工作在HTTP协议(应用层)和TCP(传输层)间的中间层,对HTTP进行保护后再放到TCP上进行传输。
SSL/TLS在三个维度对数据进行保护:
-
内容加密:采用混合加密技术,中间者无法直接查看明文内容
-
验证身份:通过证书认证客户端访问的是自己的服务器
-
保护数据完整性:防止传输的内容被中间人冒充或者篡改
SSL/TLS是两个不同的协议。
SSL:
Secure Sockets Layer,安全套接层协议,为网络通信提供安全及数据完整性的一种安全协议。在1994年被Netscape发明,后来各个浏览器均支持SSL,其最新的版本是3.0。
TLS:
Transport Layer Security,安全传输层协议,最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。虽然TLS与SSL3.0在加密算法上不同,但是在理解HTTPS的过程中,可以把SSL和TLS看做是同一个协议。
SSL/TLS的工作机制:
SSL/TLS的机制类似于TCP,采用握手的方式在连接建立阶段完成加解密方法、密钥等数据的协商确定,然后后续的数据通信过程均采用协商的结果。
SSL证书:
配置在服务器上,也称为SSL服务器证书,记录当前服务器支持的加密算法、密钥等信息,这是使用SSL/STL时的核心实体,将其配置在服务器上即可,整个HTTPS里客户端和服务器建立安全的连接靠的就是读取改文件从而进行决策。
相关文章:
HTTP、HTTPS
目录 1.HTTP 1.1.概述 1.2.报文结构 1.2.1.请求报文 1.2.2.响应报文 1.3.方法 2.HTTPS 1.HTTP 1.1.概述 HTTP,超文本传输协议,WEB体系选用了该协议作为应用层协议。 1.2.报文结构 1.2.1.请求报文 HTTP的请求报文(request࿰…...
计算机网络之http03:HTTPS RSA握手解析
不同的秘钥交换算法,握手过程可能略有差别 上文对HTTPS四次握手的学习 SSL/TLS Secure Sockets Layer/Transport Layer Security 协议握手过程 四次通信:请求服务端公钥 2次 秘钥协商 2次 (1)ClientHello请求 客户端向服务端发送client…...
一款针对EF Core轻量级分表分库、读写分离的开源项目
更多开源项目请查看:一个专注推荐.Net开源项目的榜单 在项目开发中,如果数据量比较大,比如日志记录,我们往往会采用分表分库的方案;为了提升性能,把数据库查询与更新操作分开,这时候就要采用读写…...
Linux环境变量讲解
目录 环境变量 alias命令 type命令 变量分类 Linux最主要的全局环境变量 环境变量 变量是计算机系统用于保存可变数值的数据类型 在Linux中,一般变量都是大写,命令是小写 在Linux中,变量直接使用,不需要定义(更快…...
iptables和nftables的使用
文章目录前言iptable简介iptable命令使用iptables的四表五链nftables简介nftables命令的时候nftables与iptables的区别iptables-legacy和iptables-nft实例将指定protocol:ip:port的流量转发到本地指定端口前言 本文展示了,iptables和nftable命令的使用。 # 实验环…...
中小学信息学相关编程比赛清单及报名网站汇总(C++类)
1、NOI系列比赛(CSP-J CSP-S NOIP NOI APIO CTSC IOI ISIJ等) NOI官网 NOI全国青少年信息学奥林匹克竞赛https://www.noi.cn/ 2、蓝桥杯青少年创意编程大赛 https://www.lanqiaoqingshao.cn/home 3、中国电子协会考评中心...
06Makefile
Makefile 1、Makefile简介 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂…...
【C++】模板初阶
🍅讨厌废话,直接上车 ☃️1.泛型编程 void Swap(int& left, int& right) { int temp left; left right; right temp; } void Swap(double& left, double& right) { double temp left; left right; right temp; } void Swap(char&…...
vue+nodejs考研资料分享系统vscode - Visual Studio Code
前端技术:nodejsvueelementui,视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。 Express 框架于Node运行环境的Web框架, 目 …...
LeetCode_单周赛_332
6354. 找出数组的串联值 题意 将数组首尾元素接在一起,就是串联值。 串联之后删除,如果只剩下一个元素,加上这个元素即可 双指针,从首和尾向中间移动即可 code **注意:**用 long 没看题目用了 int wa了一发 clas…...
[LeetCode周赛复盘] 第 332 场周赛20230212
[LeetCode周赛复盘] 第 332 场周赛20230212 一、本周周赛总结二、 [Easy] 6354. 找出数组的串联值1. 题目描述2. 思路分析3. 代码实现三、[Medium] 6355. 统计公平数对的数目1. 题目描述2. 思路分析3. 代码实现四、[Medium] 6356. 子字符串异或查询1. 题目描述2. 思路分析3. 代…...
C++轻量级RPC库RpcCore
C轻量级的RPC库,可用于任何项目中,甚至单片机。 方便平台直接相互进行功能调用。 基于asio的实现 asio_net 也可用在esp32适用于ESP32/ESP8266的实现 esp_rpc 目前也有一些轻量的库,参考了protobuf(或者依赖它)&…...
Mysql的视图
视图的特点: 1.视图可以看做一个虚拟的表,本身是不存储数据的。 视图的本质可以看作是存储起来的select语句 2.视图中涉及到的表都统称为基表 3.针对视图多DML操作,会影响到对应基表中的数据。反之亦然 4.视图本身的删除,不会…...
2/12考试总结
时间安排 8:30–8:50 读题,T1 不知道是个啥,T2是个dp ,T3可能也是 dp 之类的。 8:50–9:30 T1,读了好几遍才理解了题意,对于部分分有爆搜。考虑正解,想到预处理后O(1) 查询,问题是如何由已知的信息得到所有…...
第三章虚拟机的克隆,快照,迁移删除
1.虚拟机的克隆 如果你已经安装了一台linux操作系统,你还想再更多的,没有必要再重新安装,你只需要克 隆就可以,看演示。 方式1,直接拷贝一份安装好的虚拟机文件,再用虚拟机打开这个文件方式2,使用vmware的…...
华为OD机试 - 任务总执行时长(Python)| 真题含思路
任务总执行时长 题目 任务编排服务负责对任务进行组合调度。 参与编排的任务又两种类型, 其中一种执行时长为taskA, 另一种执行时长为taskB。 任务一旦开始执行不能被打断,且任务可连续执行。 服务每次可以编排 num 个任务。 请编写一个方法,生成每次编排后的任务所有可…...
LeetCode 热题 C++ 114. 二叉树展开为链表
给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1…...
Spring的事务控制-基于AOP的声明式事务控制
Spring的事务控制-基于AOP的声明式事务控制 Spring事务编程概述 事务是开发中必不可少的东西,使用JDBC开发时,我们使用connection对事务进行控制,使用MyBatis时,我们使用SqlSession对事务进行控制,缺点就是ÿ…...
SSO(单点登陆)
Single Sign On 一处登陆、处处可用 0、前置概念: 1)、单点登录业务介绍 早期单一服务器,用户认证。 缺点:单点性能压力,无法扩展 分布式, SSO(single sign on)模式 解决 : 用户身份信息独…...
线程和QObjects
QObject的可重入性: QThread继承了QObject,它发出信号以指示线程开始或完成执行,并提供一些插槽。 QObjects可以在多个线程中使用发出调用其他线程中槽的信号,并将事件发布到在其他线程中“活动”的对象。这是可能的࿰…...
最新中文版FL Studio21水果软件下载安装图文教程
FL Studio是目前流行广泛使用人数最多音乐编曲制作软件,这款软件相信广大网友并不陌生,今天带来的是FL中文版本,所有的功能都能在线编辑,用户直接就能操作,同时因为是21水果是最新版,所以增加了新的功能&am…...
pandas数据分析35——多个数据框实现笛卡尔积
什么是笛卡尔积。就是遍历所有组合的可能性。 比如第一个盒子有[1,2,3]三个号码球,第二个盒子有[4,5]两个号码球。那么从每个盒子里面分别拿一个球共有3*2两种可能性,其集合就是{[1,4],[2,4],[3,4],[1,5],[2,5],[3,5]},这个就是笛卡尔积。 三个盒子也是…...
【C语言学习笔记】:数组倒序排列,数组倒置
数组倒置就是将数组元素中的数据倒过来! 举个例子,比如下面程序: #include <stdio.h>int main(void) { int a[5] {1, 2, 3, 4, 5}; int b[5]; //用来存放倒置后的数据 int i, j; for (i0, j4; i<5, j>0; i, --j)…...
sni+tomcat漏洞复现
sni SNI产生背景 SSL以及TLS(SSL的升级版)为客户端与服务器端进行安全连接提供了条件。但是,由于当时技术限制,SSL初期的设计顺应经典的公钥基础设施 PKI(Public Key Infrastructure)设计,PKI 认为一个服务器只为一个…...
Linux ALSA 之十:ALSA ASOC Machine Driver
ALSA ASOC Machine Driver一、Machine 简介二、ASoC Machine Driver2.1 Machine Driver 的 Platform Driver & Platform Device 驱动模型2.2 在 Probe() 中注册声卡三、snd_soc_register_card 函数3.1 bind DAIs3.2 New a sound card3.3 Create card new widgets3.4 Probe …...
Spring 面试题(一):Spring 如何处理全局异常?
❤️ 博客首页:水滴技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 🌸 订阅专栏:Spring 教程:从入门到精通 文章目录1、如何处理全局异常2、代码示例2.1、定义统一的“响应结果对象”2.2、…...
Threadlocal为何引发内存泄漏问题
首先我们要先了解什么是泄漏问题和什么是内存溢出 内存泄漏表示程序员申请了内存,但是该内存一直无法被释放 内存溢出表示申请内存不足,就会报错 为何引发内存泄漏问题 因为每个线程都有自己独立的ThreadLocalMap对象,key为ThreadLocal&…...
如何写好 Python 的 Lambda 函数?
当你需要完成一件小工作时,在本地环境中使用这个函数,可以让工作如此得心应手,它就是 Lambda 函数。 Lambda 函数是 Python 中的匿名函数。有些人将它们简称为lambdas,它们的语法如下: lambda arguments: expression…...
大数据技术架构(组件)32——Spark:Spark SQL--Execute Engine
2.2、Spark SQL2.2.1、Execute EngineSparkSql的整体提交执行流程和Hive的执行流程基本上一致。站在通用的角度,对于SparkSql来说,从Sql到Spark的RDD执行需要经历两个大的阶段:逻辑计划和物理计划逻辑计划层面会把用户提交的sql转换成树型结构…...
Leetcode.1138 字母板上的路径
题目链接 Leetcode.1138 字母板上的路径 Rating : 1411 题目描述 我们从一块字母板上的位置 (0, 0)出发,该坐标对应的字符为 board[0][0]。 在本题里,字母板为board ["abcde", "fghij", "klmno", "pqr…...
网站开发的图片要求/广告公司推广软文
2018.05.05_day111、执行Python脚本的两种方式 第一种,在命令行输入“python 文件名” 第二种,从解释器打开脚本文件,并运行。2、简述位、字节的关系 位是计算机存储的最小单位,一个位要么是“0”要么是“1”,8个位等于…...
wordpress 变更域名/nba总得分排行榜最新
spring-boot-starter-parent 可以继承spring-boot-starter-parent项目来获取合适的默认设置。 想配置你的项目继承spring-boot-starter-parent只需要简单地设置parent为: <parent><groupId>org.springframework.boot</groupId><artifactId>…...
网店怎么运营/百度seo推广怎么收费
文字是人类用来记录语言的符号系统。随着社会的发展,文字已经摆脱了在纸张上,版面上的简单呈现模式,当下的数码产品中有着更为丰富的应用。 大家都知道,界面效果虽然日趋拟物化和平面化,但现在往往很多细节还是脱离不…...
室内设计行业真难混/武汉seo首页优化技巧
题目:原题链接(中等) 标签:位运算 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(logN)O(logN)O(logN)O(1)O(1)O(1)32ms (92.83%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def findClosedNumbers(…...
基于.net平台网站内容管理系统研究与实现/好口碑关键词优化
在 Java 中类的成员变量定义了类的属性。例如,一个学生类中一般需要有姓名、性别和年龄等属性,这时就需要定义姓名、性别和年龄 3 个属性。推荐课程:Java教程。声明成员变量的语法如下:[public|protected|private][static][final]…...
autocad二次开发/百度刷seo关键词排名
很多人都在纠结面试要准备什么,当然是要具体岗位具体对待了!如果你现在还没有想好到底要面什么的公司,具体哪个职位的话,那就先把大多数公司会考的技术点搞清楚~我最近研究了一下各大厂(阿里、腾讯、百度、…...