网站怎么写容易获得关键词排名,淘宝手机网站模板下载安装,泉州网站开发联系薇,wordpress app下载失败一、HTTPS定义
超文本传输安全协议#xff08;HyperText Transfer Protocol Secure#xff0c;缩写#xff1a;HTTPS#xff09;是一种通过计算机网络进行安全通信的传输协议。 HTTPS经由HTTP进行通信#xff0c;利用SSL/TLS来加密数据包。其主要目的#xff0c;是提供对…一、HTTPS定义
超文本传输安全协议HyperText Transfer Protocol Secure缩写HTTPS是一种通过计算机网络进行安全通信的传输协议。 HTTPS经由HTTP进行通信利用SSL/TLS来加密数据包。其主要目的是提供对网站服务器的身份认证保护交换资料的隐私与完整性。
二、HTTPS流程
一般而言HTTPS需要基于DNS域名系统Domain Name System它作为将域名和IP地址相互映射的一个分布式数据库能够使人更方便地访问互联网。DNS使用UDP端口53 当前对于每一级域名长度的限制是63个字符域名总长度则不能超过253个字符。
域名解析过程
操作系统会首先检查自己本地的hosts文件是否有该网址映射关系如果有就直接调用ip地址映射完成解析 查找本地dns解析器缓存是否有该网址映射关系如果有就直接返回完成域名解析 查询tcp/ip参数中设置的首选dns服务器此服务器收到查询时如果要查询的域名包含在本地配置区域资源中则返回解析结果给客户机完成域名解析 如果该服务器缓存了此网址映射关系则调用这个ip地址映射完成域名解析 根据本地dns服务器的设置进行查询当未使用转发模式本地dns就把请求发至13台根dns服务器根dns服务器收到请求后会判断这个域名是谁来授权管理并返回一个负责该顶级域名服务器的一个ip。当本地dns服务器收到这个地址后就会找到该域名服务器重复上面的动作进行查询直到找到该域名主机 如果使用转发模式此dns服务器就会把请求转发至上一级dns服务器由上一级服务器进行解析如此循环。
HTTP组成
协议组成 起始行start line描述请求或响应的基本信息方法空格url空格版本号回车换行 头部字段header使用key-value形式更详细的说明报文 消息正文entity实际传输的数据 起始行和头部字段合并成为请求头或响应头即Header 消息正文即bodyHeader与body之间有一个空行CRLF 请求方法 GET获取资源请求访问已被uri识别的资源 POST传输实体 PUT传输文件 HEAD获得响应首部与GET相同只是不返回报文主体 DELETE删除文件 OPTIONS询问支持的方法用来查询针对uri指定资源支持的方法TRACE追踪路径服务端将之前的请求通信环返还给客户端CONNECT要求使用隧道协议连接代理实现用隧道协议进行TCP通信。
TCP/UDP
TCPTransmission Control Protocol是一种面向连接的、可靠的、基于字节流的传输层Transport layer通信协议当客户端和服务端彼此传输数据前必须先在双方之间建立连接之后才能传输数据 TCP协议使用超时重传、数据确认等方式来确保数据包被正确的发送 UDPUser Datagram Protocol是一种无连接、不可靠、基于数据包的用户数据协议 UDP传输数据包前不需要在客户端和服务端之间建立连接只是把包发出去 容易丢包效率高 TCP连接流程 客户端发送syn包synx到服务端并进入SYN_SENT状态等待服务端确认 服务端收到syn包必须确认客户的SYNackx1同时自己也发送一个SYN包syny即SYNACK包此时服务器进入SYN_RECV状态 客户端收到服务端的SYNACK包向服务端发送确认包ACKacky1客户端和服务端进入ESTABLISHEDTCP连接成功状态 TCP断开流程 客户端向服务端发送的报文中FIN设置为1请求与服务端断开连接 服务端收到FIN报文返回确认应答包ACK 服务端发送FIN报文段请求关闭连接 客户端想服务端发送ACK报文段服务端收到后直接断开连接客户端等待2ms后断开 一般而言使用UDP时通过广播找到目标地址然后点对点进行数据传输。
HTTPS加密流程
客户端发起一个HTTPS请求请求服务器公钥连接443端口还包含此时客户端生成的随机数Client Random 服务端收到请求后生成一对公私钥和一个随机数Server Random把公钥以数字证书的形式加上刚才生成的随机数Server Random返回给客户端证书中有一个公钥CA来加密信息私钥CA由服务端持有 客户端收到数字证书后先验证证书的合法性 验证通过后客户端生成一个随机值pre-master并用服务器生成的公钥加密发给服务端 服务端收到随机值pre-master后使用私钥进行解密通过Client Random、Server Random、pre-master随机数合成会话密钥对称加密 双方使用该密钥对传输信息加密 客户端和服务端相互发送摘要信息Encrypted Handshake MessageFinishd使用会话密钥加密验证是否被篡改过。
三、如何避免中间人攻击劫持
证书锁死证书过期强制更新 开启校验域名、证书有效性、证书关键信息及证书链。
四、HTTP与HTTPS的区别
HTTP默认使用80端口HTTPS默认使用443端口 安全性 HTTPS需要多次握手导致加载时间是HTTP的2-100倍 HTTPS连接缓存不如HTTP高效会增加数据开销和功耗 SSL涉及安全算法会消耗CPU资源。