当前位置: 首页 > news >正文

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)中最重要的两部分:

  1. 状态码,记录响应的状态
  2. 响应体,记录响应的数据,可以是网页(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://www.lryc.cn/news/4432.html

相关文章:

  • 计算机网络之http03:HTTPS RSA握手解析
  • 一款针对EF Core轻量级分表分库、读写分离的开源项目
  • Linux环境变量讲解
  • iptables和nftables的使用
  • 中小学信息学相关编程比赛清单及报名网站汇总(C++类)
  • 06Makefile
  • 【C++】模板初阶
  • vue+nodejs考研资料分享系统vscode - Visual Studio Code
  • LeetCode_单周赛_332
  • [LeetCode周赛复盘] 第 332 场周赛20230212
  • C++轻量级RPC库RpcCore
  • Mysql的视图
  • 2/12考试总结
  • 第三章虚拟机的克隆,快照,迁移删除
  • 华为OD机试 - 任务总执行时长(Python)| 真题含思路
  • LeetCode 热题 C++ 114. 二叉树展开为链表
  • Spring的事务控制-基于AOP的声明式事务控制
  • SSO(单点登陆)
  • 线程和QObjects
  • 最新中文版FL Studio21水果软件下载安装图文教程
  • pandas数据分析35——多个数据框实现笛卡尔积
  • 【C语言学习笔记】:数组倒序排列,数组倒置
  • sni+tomcat漏洞复现
  • Linux ALSA 之十:ALSA ASOC Machine Driver
  • Spring 面试题(一):Spring 如何处理全局异常?
  • Threadlocal为何引发内存泄漏问题
  • 如何写好 Python 的 Lambda 函数?
  • 大数据技术架构(组件)32——Spark:Spark SQL--Execute Engine
  • Leetcode.1138 字母板上的路径
  • 一个自动配置 opengrok 多项目的脚本