HTTP小记1

目录

post不一定比get安全

HTTP与HTTPS区别

HTTP/1.1的优点

长连接的好处

HTTP/1.1性能


post不一定比get安全

post用bady传输数据,get用url传输数据,但这并不能说get就是比post安全的。

在浏览器地址栏可以看到使用get请求明文传输的数据,看不到post请求传输的数据,但是只要抓个包就能获取到body中的数据。

(常用的网络抓包和分析工具:tcpdump 和 Wireshark)

所以,要避免传输过程中数据被窃取,就要使用 HTTPS 协议,这样所有 HTTP 的数据都会被加密传输。

HTTP与HTTPS区别

HTTP协议以明文方式发送内容,不提供任何方式的数据加密。

HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

https则是具有安全性的ssl加密传输协议。

HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。并且https协议需要到ca申请证书。

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS 就是在 HTTP网络层 与 TCP 层之间增加了 SSL/TLS 安全传输层。

HTTP连接建立的相对简单,TCP三次握手之后便可进行HTTP的报文传输,而HTTPS在TCP三次握手之后,还需要进行SSL/TLS的握手过程,才可以进入加密报文传输。

HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

HTTP/1.1的优点

1. 简单

HTTP 基本的报文格式就是 header + body,头部信息也是 key-value 简单文本的形式,易于理解,降低了学习和使用的门槛。

2. 灵活和易于扩展

HTTP 协议里的各类请求方法、URI/URL、状态码、头字段等每个组成要求都没有被固定死,都允许开发人员自定义和扩充。

同时 HTTP 由于是工作在应用层( OSI 第七层),则它下层可以随意变化,比如:

  • HTTPS 就是在 HTTP 与 TCP 层之间增加了 SSL/TLS 安全传输层;
  • HTTP/1.1 和 HTTP/2.0 传输协议使用的是 TCP 协议,而到了 HTTP/3.0 传输协议改用了 UDP 协议。

3. 应用广泛和跨平台

互联网发展至今,HTTP 的应用范围非常的广泛,从台式机的浏览器到手机上的各种 APP,从看新闻、刷贴吧到购物、理财、吃鸡,HTTP 的应用遍地开花,同时天然具有跨平台的优越性。

长连接的好处

http/1.0每发起一个请求,就需要新建一次tcp连接,增加了通信开销。

http/1.1提出了长连接,好处是减少了tcp连接的重复建立和断开所造成的额外开销,减轻了服务器的负载。

HTTP/1.1性能

HTTP/1.1提出了长连接的通信方式,也叫做持久连接,减少了TCP连接的重复建立和断开造成的额外开销,减轻了服务器的负载。

持久连接特点:只要任意一端没有明确提出断开连接,则保持TCP连接状态。

HTTP/1.1采用了长连接的方式,使得管道网络传输成为可能。

只是HTTP/1.1管道化技术不是默认开启,而且浏览器基本都没有支持。

队头阻塞:当顺序发送的请求序列中的一个请求因为某种原因被阻塞的时候,在后面排队的所有请求也一同被阻塞了,会招致客户端一直请求不到数据,也就是队头阻塞。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

API 接口怎样设计才安全?

设计安全的API接口是确保应用程序和数据安全的重要方面之一。下面是一些设计安全的API接口的常见实践: 1. 身份验证和授权: 使用适当的身份验证机制,如OAuth、JWT或基本身份验证,以确保只有经过身份验证的用户可以访问API。实施…

C++11并发与多线程

C11并发与多线程 1. 线程是进程中的实际运作单位 并发:两个或者更多的任务(独立的活动)同时发生(进行):一个程序同时执行多个独立的任务 进程:一个可执行程序运行起来了,就叫创建了…

1、TCP 和 UDP 区别? 2、TCP/IP 协议涉及哪几层架构? 3、描述下 TCP 连接 4 次挥手的过程?为什么要 4 次挥手?

文章目录 1、TCP 和 UDP 区别?2、TCP/IP 协议涉及哪几层架构?3、描述下 TCP 连接 4 次挥手的过程?为什么要 4 次挥手? 1、TCP 和 UDP 区别? (1)TCP 基于连接,UDP 基于无连接。 &…

蓝桥杯2019年11月青少组Python程序设计省赛真题

1、试编写一个程序,输入一个整数,输出它的各个数位之和。 2、试编写一个程序,输入一个带有小数的数字,输出它的各个数位之和。 3、小兰要为1-2020住户制作门牌号,例如制作1107号门牌,需要制作2块1字符,一块0"字符一块7"字符,求制作1-2020需要多少块2. 4、编程画…

【量化金融】证券投资学

韭菜的自我修养 第一章: 基本框架和概念1.1 大盘底部形成的技术条件1.2 牛市与熊市1.3 交易系统1.3.1 树懒型交易系统1.3.2 止损止损的4个技术 第二章:证券家族4兄弟2.1 债券(1)债券,是伟大的创新(2&#x…

【零基础入门Python】Python参数

✍面向读者:所有人 ✍所属专栏:零基础入门Pythonhttps://blog.csdn.net/arthas777/category_12455877.html 目录 print()中的Python结束参数 print()中的Python|sep参数 Python的格式转换规则 使用格式…

种系进化树分析和构建工具R工具包S.phyloMaker的介绍和详细使用方法

S.PhyloMaker介绍 先看文章:updated megaphylogeny of plants, a tool for generating plant phylogenies and an analysis of phylogenetic community structure | Journal of Plant Ecology | Oxford Academic 再看仓库:GitHub - jinyizju/S.PhyloMa…

【数据结构入门精讲 | 第十五篇】散列表知识点及考研408、企业面试练习(2)

在上一篇文章中我们学习了散列表的相关知识点及进行了选择题、编程题的练习,这篇文章中我们将进行编程题的练习,带领读者以练代学、更好地掌握知识点。 目录 R7-1 QQ帐户的申请与登陆R7-2 词频统计R7-3 新浪微博热门话题R7-4 航空公司VIP客户查询R7-1 字…

九大GRASP类和设计模式

面向对象设计原则是一组指导软件设计的原则,其中GRASP(General Responsibility Assignment Software Patterns)是其中的一部分。这些原则帮助设计者确定类应该负责执行哪些职责,以及如何分配这些职责。在下面的文档中,…

leetcode 30. 串联所有单词的子串

题目链接:leetcode 30 1.题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words [“ab”,“cd”,“ef”], …

PyTorch之线性回归

1.定义: 回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归是利用称为线性回归方程的最小二乘函数,对一个或多个自变量和因变量之间关系,进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参…

LeetCode——1962. 移除石子使总数最小

通过万岁!!! 题目:给你一个数组。数组中的元素表示石子的个数,我们可以从里面移除一些元素,溢出的规则是第i位置的元素除2后向下取整。并且可以移除k次,要求最后的石子总个数最小。思路一&…

生成allure报告出现:ALLURE REPORT UNKNOWN

问题:点击浏览器查看时无法查看到报告 错误代码: if __name__ "__main__":pytest.main([./test_study/test_fixture.py])os.system("allure generate ./temps -o ./temps --clean") 结果导向: 解决:因为…

Hadoop入门学习笔记——四、MapReduce的框架配置和YARN的部署

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记(汇总) 目录 四、MapReduce的框架配置和YARN的部署4.1. 配置MapReduce…

动态规划03-01背包问题

问题描述 作为动态规划中最重要的经典例题,01背包问题开启了我们学习二维dp数组的道路。 题目如下: 有一个容量为V的背包,还有n个物体。现在忽略物体实际几何形状,我们认为只要背包的剩余容量大于等于物体体积,那就可…

缓存高可用:缓存如何保证高可用?

前面我们提到了缓存集群的负载均衡策略,保证缓存服务的高可用,集群策略是最常用的,本文我们以 Redis 为例,分析一下单点缓存如何扩展到集群,以及集群部署的几种常见模式。 Redis 的主从复制 集群实现依靠副本&#x…

爬虫字典生成工具,CeWL使用教程

爬虫字典生成工具,CeWL使用教程 1.工具概述2.参数解析3.使用实例1.工具概述 CeWL 是一个 ruby 应用程序,它将给定的 URL 爬到指定的深度,可以选择跟随外部链接,并返回一个单词列表,然后可用于密码破解者 Cewl 是黑客武器库中的强大工具,因为它允许创建有针对性的单词列…

如何在Spring Boot中优雅地进行参数校验

1. 前言 在平时的开发工作中,我们通常需要对接口进行参数格式验证。当参数个数较少(个数小于3)时,可以使用if ... else ...手动进行参数验证。当参数个数大于3个时,使用if ... else ...进行参数验证就会让代码显得臃肿…

使用 Spring Boot + MyBatis开发需要注意的事项以及开发模版

前言: 注意,本篇不适用于有相关开发经验的开发者,作为一个在职开发者,我经常在完成从0-1的模块,也就是从数据库表开始到创建实体类,以及dao层,Service层等业务需要添加相关注解,这样…