一、HTTP工作机制
http中包含了客户访问端、http响应服务端,工作过程中,客户端向服务器发送一个请求报文,服务器端响应这个请求。
二、HTTP中的请求过程
- 在客户端浏览器中输入
URL(或利用postman工具提交URL)
,并按下回车键 - 浏览器向
DNS
服务器请求解析该URL
中的域名对应的IP
地址(如果是IP
请求,则不需要该步骤) - 解析出
IP
后,根据IP
和端口号,和服务器建立TCP连接 - 浏览器向服务器发送请求,该请求报文作为
TCP
三次握手的第三个报文发送给服务器 - 服务器做出响应,把数据发送给浏览器
- 通信完成,断开
TCP
连接 - 浏览器解析收到的数据并显示
三、HTTP请求类型(method)
HTTP/1.1有7种请求方法:1、GET;2、POST;3、PUT;4、DELETE;5、HEAD;6、TRACE;7、OPTIONS;
1、各个方法的作用:
GET | 对这个资源的查操作 |
DELETE | 对这个资源的删操作(注意:客户端无法保证删除操作一定会被执行,因为HTTP规范允许服务器在不通知客 户端的情况下撤销请求) |
HEAD | 与GET方法的行为很类似,但服务器在响应中只返回实体的头部分。可以快速获取资源信息,比如资源类型; 通过查看响应中的状态码,可以确定资源是否存在; 通过查看首部,测试资源是否被修改; |
POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。(适用于更新操作) |
PUT | 从客户端向服务器传送的数据取代指定的文档的内容。(适用于添加操作) |
OPTIONS | 用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST” |
TRACE | 会在目的服务器端发起一个“回环”诊断,因为客户端在发起一个请求时,这个请求可能要穿过防火墙、代理、网关、或者其它的一些应用程序。这中间的每个节点都可能会修改原始的HTTP请求,TRACE方法允许客户端在最终将请求发送服务器时,它变成了什么样子。由于有一个“回环”诊断,在请求最终到达服务器时,服务器会弹回一条TRACE响应,并在响应主体中携带它收到的原始请求报文的最终模样。这样客户端就可以查看HTTP请求报文在发送的途中,是否被修改过了 |
四、HTTPS协议简介
HTTPS
是安全的HTTP
通道,即在HTTP通信中加入了SSL
层(当前版本是TLS1.2
),通信的数据被加密了,防止被窃取,具体的通信流程如下:
HTTPS使用的加密方式结合了对称加密和不对称加密的特点,在保证安全的情况下,又提高了传输效率。HTTP和HTTPS的区别如下:
- https协议需要到ca申请证书,一般免费证书很少,需要交费。
- http的信息是明文传输,https 则是具有安全性的ssl加密传输协议。
- http和https用的端口不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全