您的位置:首页 > 理论基础 > 计算机网络

【面试题】Https

2015-09-16 22:39 369 查看
https原理,

我很难一下子记住, https=http+ssl

先说http, 基于tcp/IP协议 传输,有三次握手
http://blog.csdn*net/xubo_zhang/article/details/11900947
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;

第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包

第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。

完成三次握手,主机A与主机B开始传送数据。

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.


至此应该扩展一下联想, 三次握手 随机数和并发式接口的关系, 貌似没有关系

握手完成后,开始传输数据,阻塞方式传输是要等前面的任务完成后才可以开始另一个传输。

7层网络网络协议

ssl 做支付时用过,证书中保存着密钥串,在传输之前是要加密的,请求https地址 在收到反馈的密文时需要用密钥解密。

浏览器是帮我们做了这件事情,在渲染页面之前已经完成解密。

ACK (Acknowledgement),即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。

中文名ACK外文名Acknowledgement中文译名确认字符分 类传输与接入

目录

1 基本介绍

2 详细释义

基本介绍编辑

解 释: 在数据通信传输中,接收站发给发送站的一种传输控制字符。它表示确认发来的数据已经接收无误。

详细释义编辑

TCP/IP协议中,如果接收方成功的接收到数据,那么会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接收方回复给发送方。其格式取决于采取的网络协议。当发送方接收到ACK信号时,就可以发送下一个数据。如果发送方没有收到信号,那么发送方可能会重发当前的数据包,也可能停止传送数据。具体情况取决于所采用的网络协议
1、TCP报文格式中的控制位由6个标志比特构成,其中一个就是ACK,ACK为1表示确认号有效,为0表示报文中不包含确认信息,忽略确认号字段。
2、ACK也可用于AT24cxx这一系列的EEPROM中。
3、在USB传输中,ACK事务包用来向主机/设备报告包正确的传输。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: