HTTP请求一共包含八种方法(动作)
HTTP1.0定义了三种:Get Post Head
HTTP1.1定义了五种:put delete connect options trace
| get | 请求服务器资源,请求参数将会显示在请求串中 |
| post | 向指定资源提交数据与表单,请求的数据被放置在请求体中,相对于get可以发送更多的数据 |
| head | 类似于get请求,只不过返回的没有实体,只有头部 |
| put | 向服务器发送指定的数据取代指定文档的内容 |
| delete | 删除指定文档的内容 |
| options | 查看服务器的性能 |
| traces | 回显客户端的请求,用于诊断 |
| connect | 预留给能将连接更改为管道模式的代理服务器 |
HTTP请求的返回码主要包含五大类。
1** 保留继续
2** 请求成功
3** 重定向
4** 客户端错误
5** 服务器内部错误
HTTP协议作为超文本传输协议,能够在客户端和服务器之间传递资源数据,但这种传递方式是明文的,为了更好的安全性。出现了HTTPS协议,在原先的HTTP协议的基础上SSL/TLS协议,通过证书来验证服务器的身份,并为数据传输加密。
两者的主要区别:
- http是明文的超文本传输协议,而https是外加上ssl/tls具备安全性的传输协议。
- http使用的是80端口,而https使用的是443端口
- https需要使用到CA证书,来验明自身的身份
- http连接是无状态的,即两次连接之间不相干,不具有记忆性
客户端使用HTTPS协议与服务器传输的过程。
- 客户端发出HTTPS请求,要求与服务器建立安全SSL连接
- 服务受到请求后,将自身的证书以及非对称加密公钥返回给客户端
- 客户端随机产生对称**,使用服务器提供的加密公钥加密,发送给服务器
- 服务器采用自身的非对称私钥进行解密,获得传输的对称**
- 双方使用对称**进行加密通信
HTTPS的缺点:
HTTPS由于连接建立过程具有一定的开销,相较于HTTP协议会带来一定的延时
SSL证书需要购买和颁发,需要经济开销
由于涉及非对称**计算,对称**通信加密传输,造成一定的开销