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

http、https笔记

目录

  • HTTP 基本概念
    • 状态码:
    • get和post的区别:
    • http 常⻅字段:
    • http的缺点:
  • HTTP/1.1
  • HTTP/3
  • HTTPS
    • HTTPS和HTTP区别
    • 对称加密和⾮对称加密
      • ⾮对称加密

HTTP 基本概念

状态码:

1xx 中间状态,比如post的continue
200 OK是最常⻅的成功状态码
3xx 重定向
4xx 客户端发送的报⽂有误
5xx 服务器处理时内部发⽣了错误

get和post的区别:

1、get获取数据,post改教据
2、get把请求在url上,不安全,post在http包内,安全
3、get数据最大2k,post无限制
4、get产生一个TCP包(header+data ),返回200
post产生两个TCP包(1、header返回100continue,2、data返回200 )
5.get会被缓存,post不会
6、get是幂等,post不是幂等的(get不能对数据进行修改,网络不好会多次重试)

http 常⻅字段:

Host 字段:指定服务器的域名
Content-Length 字段:本次服务器回应的数据⻓度是 1000 个字节
Connection 字段:要求服务器使⽤ TCP 持久连接,以便其他请求复⽤
Content-Type 字段:数据是什么格式
Content-Encoding 字段:数据的压缩⽅法 gzip

http的缺点:

⽆状态:Cookie 技术
明⽂传输:引⼊ SSL/TLS 层

HTTP/1.1

⻓连接:只要任意⼀端没有明确提出断开连接,则保持 TCP 连接状态
管道⽹络传输:可在同⼀个 TCP 连接⾥⾯,客户端可以发起多个请求,只要第⼀个请求发出去了,不必等其回来,就可以发第⼆个请求出去,可以减少整体的响应时间。(按照顺序)

在这里插入图片描述

HTTP/3

把 HTTP 下层的 TCP 协议改成了 UDP!
QUIC 有⾃⼰的⼀套机制可以保证传输的可靠性的。当某个流发⽣丢包时,只会阻塞这个流,其他流不会受到
影响。
QUIC 是⼀个在 UDP 之上的伪 TCP + TLS + HTTP/2 的多路复⽤的协议。
在这里插入图片描述

HTTPS

窃听⻛险:混合加密的⽅式实现信息的机密性
篡改⻛险:摘要算法的⽅式来实现完整性,它能够为数据⽣成独⼀⽆⼆的「指纹」,指纹⽤于校验数据的完整性
冒充⻛险:将服务器公钥放⼊到数字证书中,解决了冒充的⻛险

HTTPS和HTTP区别

http 明文 80端口
https
密文 443端口
过程:
1、tcp三次握手
2、ca数字证书放入非对称密钥获取会话密钥,对称密钥进行加密会话
3、http只有tcp三次握手的三个包(快),https是12个包(3+9个的ssl包)(慢)

对称加密和⾮对称加密

对称加密只使⽤⼀个密钥,运算速度快,密钥必须保密,⽆法做到安全的密钥交换。
⾮对称加密使⽤两个密钥:公钥和私钥,公钥可以任意分发⽽私钥保密,解决了密钥交换问题但速度慢

⾮对称加密

1、client、sever交换随机数
2、sever发送证书
3、client 取CA的公钥,验证数字证书,取出服务器的公钥,用服务器公钥加密随机数( pre-master key ),随后根据client、sever随机数+随机数( pre-master key )来生成会话密钥
4、sever私钥解密随机数( pre-master key ),随后根据client、sever随机数+随机数( pre-master key )来生成会话密钥

http://www.lryc.cn/news/118722.html

相关文章:

  • 飞凌嵌入式「国产」嵌入式核心板大盘点(三)——龙芯中科、赛昉科技
  • 以vue2为例,用npm开发环境在后端部署vue2项目(更推荐使用nginx部署)
  • docker容器监控:Cadvisor +Prometheus+Grafana的安装部署
  • 前端食堂技术周刊第 93 期:7 月登陆 Web 平台的新功能、Node.js 工具箱、Nuxt3 开发技巧、MF 重构方案
  • 获取 Android 的 SHA1 值
  • ! [remote rejected] develop -> develop (pre-receive hook declined)
  • 最强的表格组件—AG Grid使用以及License Key Crack
  • 【算法】逆波兰表达式
  • 添加SQLCipher 到项目中
  • 轻松预约,尽享美食,详解餐厅预约小程序的设计与实现
  • 数据结构--栈和队列3.1(栈-顺序结构)
  • pdf怎么压缩到1m?这样做压缩率高!
  • AttentionFreeTransformer 源码解析(一):AFTFull、AFTSimple、AFTLocal
  • C++ 计算 拟合优度R^2
  • Springboot-Retrofit HTTP工具框架快速使用
  • 微信小程序实现人脸识别(从一个没有开通人脸核身的小程序跳转到要给开通人脸核身的小程序,进行人脸识别后再跳转回来)
  • CSS-grid布局
  • 【JavaEE进阶】Bean 作用域和生命周期
  • 3分钟自建查分系统?现在每个人都可以实现了
  • 关于APP备案、小程序备案的问题,如何备案?
  • git上传代码后,如何清空历史日志以及文件操作,重新上传?以及上传代码
  • 超导热催生meme,换汤不换药的投机轮回
  • 【HashMap】 73. 矩阵置零
  • Vue-2.nodejs的介绍和安装
  • 分别用Vue和Java来实现的风靡一时的2048 游戏
  • echarts甘特图 一个值多条线
  • 多态性说明
  • 2023-08-04 LeetCode每日一题(不同路径 III)
  • 腾讯云服务器地域怎么选?可用区是什么?
  • 第一百二十三天学习记录:C++提高:STL-vector容器(下)(黑马教学视频)