Https与TCP协议的三次握手、四次挥手
Https的含义
- Https属于Http加上TLS/SSL协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据加密传输,实现互联网传输安全保护。
- SSL证书是数字证书的一种,因为配置在服务器上也称为服务器SSL证书,由受信任的数字证书颁发机构CA在验证服务器身份后颁发的数字证书。
通过http协议访问网站时,浏览器和服务器之间是明文传输。服务器安装SSL证书后,使用https加密协议访问网站,可激活客户端浏览器到网站服务器之间的“SSL加密通道”
HTTPS的优点
尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:
HTTPS的优点
(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
(4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
HTTPS的缺点
虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:
(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
TCP协议
- 它的可靠就是数据包不丢失、不错误、不乱序。
TCP协议结构
它是由两个部分组成的:一部分是TCP首部(头部)+TCP数据部分(我们需要传输的东西)
TCP首部也是有两个部分组成:一个部分是20个字节的固定首部,一个是选项部分
端口号分为:熟知端口(公认端口)、注册端口、动态端口(临时端口或者短暂端口,范围:49152-65535)
两个端口的作用:用于区别应用程序的。序号:在TCP协议当中,它传送的数据流中,每一个字节都会遍上一个序号。
URG:紧急比特(紧急数据),它可以是0也可以是1.表示紧急指针字段有效。
ACK:确认。当这个字段值是1时,回复才算有效,如果为0时,确认号就是无效的。
RST:复位比特,拒绝连接请求时会出现(对应不上端口或对端没有这个端口) RST=1.
异常终止的情况或者终止空闲的情况。
SYN:初始或者同步。第一访问远端设备的时候,经过三次握手,第一次请求就是SYN=1;
FIN:结束(终止比特) FIN=1。
表示的是标志位
- 窗口:用来控制对方发送数据的量(大小)
- 检验和:主要是保障数据从源端到目的端 发送数据的过程中,不要出现 差错、不要被修改、不要被丢弃。
三次握手(建立联系)
- 客户端发报文:SYN=1,seq=x;
- 服务器回应报文:SYN=1,ACK=1,seq=y,ack=x+1;
- 客户端回应报文:ACK=1,,seq=x+1,ack=y+1;
易受攻击点
SYN:泛洪,或拒绝式服务攻击。(用错误的ip进行去占用端口号)客户端和服务器都是要有 IP 端口号
- RWND:是服务器告诉客户端,我现在可以接收多少个字节。窗口–提高数据传输的效率设置。反之客户端也可以给服务器发送
四次挥手(关闭链接)
- 客户端发送报文:FIN=1,seq=a;
- 服务器响应报文:ACK=1,seq=b,ack=a+1;
- 服务器发送报文:FIN=1,ACK=1,seq=c,ack=a+1;
- 客户端响应报文:ACK=1,seq=a+1,ack=c+1
Https与TCP协议的三次握手、四次挥手相关推荐
- go tcp客户端自动重连_阿里面试: HTTP、HTTPS、TCP/IP、三次握手四次挥手过程?(附全网最具深度讲解)
前言 这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-.-,蹭蹭就蹭蹭 :) 事实上我在阿里面试的时候确实被问到了这个问题,HTTP.HTTPS.TC ...
- 什么是TCP协议的三次握手四次挥手
IP协议.HTTP协议.TCP协议.TCP/IP 协议我们经常遇到,而且初学的时候容易弄混.那么他们之间有什么关系呢?重点内容 ####1.什么是TCP/IP 协议 TCP/IP不是一个协议,而是一个 ...
- 【网安】初学者,第一天day1 (什么是域名,常见的端口和协议,三次握手四次挥手)
网安小白第一天 了解什么是域名,常见的端口和协议,三次握手四次挥手 第一次接触网安,从0到1. 一.域名 1.定义 域名是用于在识别和定位Internet上计算机的层次结构式的字符标识,它对应于计算机 ...
- TCP为什么需要三次握手四次挥手
TCP为什么需要三次握手四次挥手 三次握手 TCP是通过程序实现的,可靠的,面向连接的协议.而程序是严谨的,每一次建立连接都会进行"三次握手"这样的步骤. 建立连接的目的是为了可靠 ...
- Linux网络编程(网络七层协议,TCP/IP,三次握手四次挥手,TCP/UDP的区别)
1.OSI 7层网络模型 1.网络七层协议 (1)OSI定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层.应用层),即ISO开放互连系统参考模型. (2)各层功能定义 这里 ...
- ssh协议是osi_TCP/IP协议和三次握手四次挥手
计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的.计算机网络体系结构的抽象概念较多,在学习时要多思考.这些概念对后面的学习很有帮助. 网络协议是什么? 在计算机网络要做到有条不 ...
- HTTP协议,三次握手四次挥手
Http协议与Https协议 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高 ...
- 网络架构,七层协议,三次握手四次挥手,socket套接字简单编程
一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...
- tcp状态转换--三次握手/四次挥手
1 三次握手 "3次握手"的作用就是双方都能明确自己和对方的收.发能力是正常的. 2 四次挥手 主动关闭连接的一方,调用close():协议层发送FIN包 被动关闭的一方收到FIN ...
最新文章
- Xonsh库——Python和Shell语法互通
- 开发者们的迷茫期,该怎么看破?
- OpenJudge/Poj 2001 Shortest Prefixes
- 【BZOJ 3160】 3160: 万径人踪灭 (FFT)
- Bitbucket Pipelines在Atlassian的Bitbucket云上提供持续交付功能
- 学习JavaScript你必须掌握的8大知识点
- 蓝桥练习题题解——作物杂交——Java
- spark-2.1.0 集群安装
- 基于JAVA+SpringMVC+Mybatis+MYSQL的村民信息管理系统
- 关闭报错_Cydia Impactor工具各种报错提示的解决方法!
- COCOS2D-X编译成android的项目
- 人生苦短,我用VIM!
- java怎么定义scanner_Java Scanner类的常用方法及用法(很详细)
- 140个电脑小知识、小技巧(1)
- 特征选择之互信息(mutual information)算法思想及其python代码实现
- jstack 命令的使用和问题排查分析思路
- Android大话设计模式 第三章----开放封闭原则---孙悟空任弼马温一职
- MPC多旋翼控制 - mav_control_rw项目
- 电容笔买什么牌子好?2022电容笔品牌排行榜
- HeadFirst 设计模式 橡皮鸭子例子心得体会
热门文章
- 空调冰箱制冷系统,空调冰箱控制电路,组装调试维修考核
- 探索Google App Engine背后的奥秘(3)- Google App Engine的简介
- MFC窗体滑动、缩放、渐变动态效果的实现
- 2022-2028年全球与中国固定电阻器行业市场需求预测分析
- 【包会教程】“批打”神器教程
- Xposed Installer框架 安卓版
- 如何使用python抢优惠券-Python写一个京东抢券脚本
- VS watch(监视)的技巧
- HTML学生个人网站作业设计:动漫网站设计——火影忍者(1页) HTML+CSS+JavaScript 简单DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- Notepad Next 无法输入中文