HTTP 协议
HTTP(Hyper Text Transfer Protocol)协议是超文本传输协议的缩写,它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议,位于 OSI 网络模型中的应用层
HTTP 是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为 HTML 文件、图片文件、查询结果等。
HTTP协议一般用于 B/S 架构。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。
HTTP 特点
- HTTP 协议支持客户端/服务端模式,也是一种请求/响应模式的协议
- 简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST
- 灵活: HTTP允许传输任意类型的数据对象。传输的类型由Content-Type加以标记。
- 无连接: 限制每次连接只处理一个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session。
- 无状态: 无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。
HTTP 中间人攻击
HTTP 协议使用起来确实非常的方便,但是它存在一个致命的缺点:不安全
。
我们知道 HTTP 协议中的报文都是以明文的方式进行传输,不做任何加密,这样会导致中间人攻击
例如:小明 JAVA 贴吧发帖,内容为 我爱JAVA
:
被中间人进行攻击,内容修改为 我爱PHP
服务器接收到的就是错误的信息:我爱PHP
除此之外,请求信息也容易被窃听截取、冒充