HTTP
HTTP(超文本传输协议)
缺点
通信使用明文,内容可能被窃取
无法验证报文的完整性,可能遭遇篡改攻击
不验证通信方的身份,可能遭遇伪装
HTTPS
HTTPS只是在HTTP通信接口用SSL(安全套接字)和TSL(传输层安全)协议
HTTP协议直接更TCP通信。当使用SSL,则演变成HTTP和SSL协议通信,再由SSL和TCP通信。
HTTPS加密
非对称加密
为了保证对称秘钥的安全,使用非对称加成算法
不直接使用非对称加密算法的原因:非对称加密算法复杂,通信中使用其,效率较低
HTTP与HTTPS区别
https需要到ca申请整证书,免费证书较少,一般收费
http是超文本传输协议,传输的是明文,https则是具有安全性的ssl加密传输协议
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443
http的连接很简单,是无状态的;httpss是由ssl+http协议构建的可进行加密传输、身份认证的网络协议
SSL/TSL协议
SSL可确保数据在传输过程中不会被窃取
TSL用于两个应用程序之间提高保密性和数据完整性
TSL由SSL更名而来
作用
认证用户和服务器:确保数据发送到正确的客户端和服务器
加密数据室防止数据被中途窃取
维护数据的完整性:确保数据在传输过程中不被篡改
TSL比SSL的优势
增强伪随机功能
对于消息认证使用秘钥散列法:TSL使用HMAC,而SSL使用MAC
一致证书处理
特定报警消息
HTTP请求/响应步骤
客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口建立一个TCP连接
发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文有请求行,请求头部,空行和请求数据4部分组成
服务器接收请求并返回HTTP响应
Web服务器解析请求,定位请求资源。
释放TCP连接件
客户端解析HTML内容
HTTP消息结构
状态行
4开头
请求错误
400:错误请求,服务器不理解的语法
403:服务器拒绝请求
404:未找到,服务器找不到请求的网页
5开头
服务器错误
502
错误网关,服务器作为网关或代理,从上游服务器收到无效响应
503
服务不可用,服务器目前无法使用,由于超载或停机维护
504
网关超时,服务器作为网关或代理,但是没有及时从上游服务器收到请求
505
HTTP版本不受支持,服务器不支持请求中所用的HTTP版本
HTTP1.0和HTTP1.1的区别
HTTP1.0使用短连接,即客户端和服务器每进行一次HTTP请求,就建立一次连接,任务结束就中断,而HTTP1.1默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,响应头会加入Connection:keep-alive
HTTP1.1还提供了身份认证、状态管理和Cache缓存等机制
HTTP1.1支持请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应。
HTTP1.1增加host字段,HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,所以请求消息中的URL并没有传递主机名。但是随着虚拟主机技术的发展,在一台物理服务器上可以存在多台虚拟主机,并且他们共享一个IP地址
100(Continue)Statue(节约带宽),客户端事先发送一个车只带头域的请求,如果服务器因为权限拒绝了请求,就会返回响应码401,如果服务器接收此请求就会返回100
DNS(域名系统)
工作流程
首先查找电脑的本地的hosts文件,如果没有找到域名对应的IP地址继续下一步
查找本地DNS解析器缓存,如果没有,继续
根据TCP/IP设置的DNS服务器(本地DNS服务器),此服务器收到查询时
然后利用两种查询方式的一种进行查询
空间结构
分层树状结构
根域 .
顶级域名:com, gov, net. edu
二级域名: cn, jp, uk
主机或三级域名
端口:53