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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 关于HTTP/HTTPS -> 正文阅读

[网络协议]关于HTTP/HTTPS

关于HTTP/HTTPS虽然很熟悉,但是其中原理自认为理解还是不够深入。在网上也看了许多关于HTTP/HTTPS的,这里加上自己理解总结了一下常遇到的问题,顺便巩固一下,方便以后忘记了来查看。

一、HTTP

HTTP(Hypertext Transfer Prtcl)超文本传输协议是基于TCP/IP协议的应用层协议,主要规定了客户端和服务端之间的通信格式,默认80端口(浏览器默认)。

请求报文格式

<method><request-URL><version>
<headers>

<entity-body>

响应报文格式

<version><status><reason-phrase>
<headers>

<entity-body>

这里记录几个请求头

Accept:
指定客户端能接收的内容类型
Accept:text/plain,text/html

Connection:
表示是否需要持久连接 // HTTP 1.1默认进行持久连接
Connection: close

Referer:
先前网页的地址,当前请求网页之前,告诉服务器来源

Cookie:
发送请求时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Cookie: role=user;ssid=1

HTTP返回状态码

1xx(临时响应)
表示临时响应并需要继续执行操作的状态码。

2xx(成功状态)
表示成功处理了请求的状态码。

3xx(重定向)
表示要完成请求,需要进一步操作。

4xx(请求错误)
这些状态代码表示请求可能出错,客户端请求出错。

5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。

二、HTTPS

HTTPS (HyperText Transfer Protocol over Secure Socket Layer)可以理解HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层。

流程:

  • 客户端发起 SSL 握手消息给服务端要求连接
  • 服务端将证书返回客户端
    证书包含:
    (1)颁发机构信息
    (2)公钥
    (3)公司信息
    (4)域名
    (5)有效期
    (6)指纹
  • 客户端严重证书是否合法,不合法会提出警告,将是否继续通讯的决定权交给用户选择 ( 注 意,这里将是一个安全缺陷 )。如果检查无误或者用户选择继续,则客户端认可服务端的身份。
  • 服务端要求客户端发送证书,并检查是否通过验证。失败则关闭连接,认证成功则从客户端证书中获得客户端的公钥。到此,服务器客户端双方的身份认证结束。

(协商加密算法)

  • 客户端发送协商请求给服务端, 其中包含自己支持的非对称加密的密钥交换算法 , 数据签名摘要算法? , 加密传输数据的对称加密算法,以及加密密钥的长度。 服务端接收到消息之后,选中安全性最高的算法,并将选中的算法发送给客户端,完成协商。
  • 客户端生成随机的字符串,通过协商好的非对称加密算法,使用服务端的公钥对该字符串进行加密,发送给服务端。
  • 服务端通过私钥对随机数解密,对后通过客户端发送的随机数作为密钥形成对称加密算法,对返回结果加密后传输。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:49:51  更:2021-10-23 12:50:47 
 
开发: 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:57:32-

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