一、 通讯使用明文(不加密),内容可能会被窃听安全
因为 HTTP 自己不具有加密的功能,因此也没法作到对通讯总体(使 用 HTTP 协议通讯 的请求和响应的内容)进行加密。即,HTTP 报文 使用明文(指未通过加密的报文)方 式发送。服务器
TCP/IP 是可能被窃听的网络 若是要问为何通讯时不加密是一个缺点,这是由于,按TCP/IP 协议族的工做机制,通讯内容在全部的通讯线路上都有 可能遭到窥视。 所谓互联网,是由能连通到全世界的网络组成的。不管世界哪一个 角落的服务器在和客户端通讯时,在此通讯线路上的某些网络设 备、光缆、计算机等都不多是我的的私有物,因此不排除某个 环节中会遭到恶意窥视行为。 即便已通过加密处理的通讯,也会被窥视到通讯内容,这点和未 加密的通讯是相同的。只是说若是通讯通过加密,就有可能让人 没法破解 报文信息的含义,但加密处理后的报文信息自己仍是会 被看到的网络
HTTP 协议中的请求和响应不会对通讯方进行确认。也就是说存在“服 务器是否就是发送请求中 URI 真正指定的主机,返回的响应是否真的 返回 到实际提出请求的客户端”等相似问题。post
任何人均可发起请求网站
在 HTTP 协议通讯时,因为不存在确认通讯方的处理步骤,任何 人均可以发 起请求。另外,服务器只要接收到请求,无论对方是 谁都会返回一个响应(但也仅限于发送端的 IP 地址和端口号没 有被 Web 服务器设定限制访问的前提下)。加密
2.一、 没法肯定请求发送至目标的 Web 服务器是不是按真实意 图返回响应的那台服务器。 有可 能是已假装的 Web 服务 器。 3d
2.二、没法肯定响应返回到的客户端是不是按真实意图接收响 应的那个客户端。 有多是已假装 的客户端。 cdn
2.三、没法肯定正在通讯的对方是否具有访问权限。 由于某些 Web 服务器上保存着重要的信息只想发给特定用户通 信的权限。 blog
2.四、 没法断定请求是来自何方、出自谁手。 即便是无心义的请求也会照单全收。 没法阻止海量请 求下的 DoS 攻击(Denial of Service, 拒绝服务攻击)。get
因为 HTTP 协议没法证实通讯的报文完整性,所以,在请求或响 应送出以后直到对方接收以前的这段时间内,即便请求或响应的 内容遭到篡改,也没有办法获悉。 换句话说,没有任何办法确认,发出的请求 / 响应和接收到的请 求 / 响应是先后相同的。
好比,从某个 Web 网站上下载内容,是没法肯定客户端下载的 文件和服务器上存放的文件是否先后一致的。文件内容在传输途 中可能已经被篡改成其余的内容。即便内容真的已改变,做为接 收方的客户端也是觉察不到的。 像这样,请求或响应在传输途中,遭攻击者拦截并篡改内容的攻 击称为中间人攻击(Man-in-the-Middle attack,MITM)。