HTTP与HTTPS有什么区别
HTTP协议传输的数据都是未加密的,也就是明文的。
HTTPS加入了SSL协议(Secure Sockets Layer)
区别:1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,明文传输,https则是可进行加密传输、身份认证。
3、不同的连接方式,用的端口也不一样,前者是80,后者是443。
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。
(1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
(2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
(3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
(5)Web服务器利用自己的私钥解密出会话密钥。
(6)Web服务器利用会话密钥加密与客户端之间的通信。
HTTP方法
GET: 获取服务器文件内容
POST:客户端向服务器发送数据
HEAD:获取HTTP头部
OPTIONS:一般是通知或者查询选项
PUT:替换服务器上的文件
DELETE:删除指定文件
CONNECT:机密时候使用的
HTTP状态码
1XX:服务器收到请求,需要请求者继续执行操作
2XX:成功
3XX:重定向表示需要进一步操作
4XX:请求错误
5XX:服务器错误
200 - 请求成功
400 - Bad Request
客户端请求的语法错误,服务器无法理解
401 - Unauthorized
未授权
403 - Forbidden
服务器理解请求客户端的请求,但是拒绝执行此请求
404 - Not Found
请求的资源(网页等)不存在
500 - Internal Server Error
服务器遇到了意料不到的情况,不能完成客户的请求。
502 - Bad Gateway
充当网关或代理的服务器接收到无效的请求
503 - Service Unavailable
由于超载或系统维护,服务器暂时的无法处理客户端的请求。
505 - Gateway Time-out
服务器不支持请求的HTTP协议的版本,无法完成处理