HTTP协议传输的数据都是未加密的,就是明文的,因此使用HTTP协议传输隐私信息是非常不安全的,为了让这些隐私数据能加密传输,于是设计了SSL协议用于对HTTP协议传输的数据进行加密,所以就有了HTTPS。
HTTP协议的特点:(端口号为80)
- 支持客户/服务器模式;
- 简单快速。客户向服务器请求服务时,只需传送请求方法和路径;
- 灵活。允许传输任意类型的数据对象;
- 无连接。(每次连接只处理一个请求。服务器处理完客户的请求并收到客户的回应后,断开连接);
- 无状态。处理事务没有记忆力。
HTTP协议的响应:
由三部分组成:状态行、消息报头、响应报文。
请求方法:
get、post、put
get和post的区别;
- get是从服务器上获取数据,post是向服务器传送数据;
- 安全性上:get与post相比,get安全性相对较差(因为所发送的数据是URL的一部分)。post比get安全(因为参数不会被保存在浏览器历史日志中);
- get通过地址栏传输,post通过报文传输;
- get有长度限制(URL长度),post无限制;(URL:通过描述资源的位置来标识资源)
- get产生一个数据包,post产生两个数据包;
HTTP与HTTPS的区别:
- HTTPS协议需要申请ca证书,一般免费证书很少需要付费;
- HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议;
- HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样(http:80;https:443);
- http的连接很简单,是无状态的;
- HTTPS协议由SSL+HTTP协议构成的可进行加密传输,身份认证的网络协议,比HTTP协议安全。
SSL层原理:
SSL利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。SSL支持各种应用层协议。由于SSL位于应用层和传输层之间,所以可以为任何基于TCP等可靠连接的应用层协议提供安全性保证。
HTTP状态码:
- 200:响应成功;
- 302:跳转,重定向;
- 400:客户端有语法错误;
- 403:服务器拒绝提供服务;
- 404:请求资源不存在;
- 500:服务器内部错误。