- http和https的概念
- http常见的状态码
- http和https的区别
- https相对于http的改进
- https的工作原理
http和https的概念
HTTP协议是一种使用明文数据传输的网络协议。
HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。
http常见的状态码
| 状态码 | 响应类别 | 原因 |
|---|---|---|
| 1XX | 信息性状态码(Informational) | 服务器正在处理请求 |
| 2XX | 成功状态码(Success) | 请求已正常处理完毕 |
| 3XX | 重定向状态码(Redirection) | 需要进行额外操作以完成请求 |
| 4XX | 客户端错误状态码(Client Error) | 客户端原因导致服务器无法处理请求 |
| 5XX | 服务器错误状态码(Server Error) | 服务器原因导致处理请求出错 |
1xx(信息)
100 Continue
继续。客户端应继续其请求
101 Switching Protocols
切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
2xx(成功)
200 OK
表示请求被服务器正常处理
201 Creanted
已创建。成功请求并创建了新的资源
202 Accepted
已接受。已经接受请求,但未处理完成
203 Non-Authoritative Information
非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204 No Content
表示请求已成功处理,但是没有内容返回(就应该没有内容返回的状况)
205 Reset Content
重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206 Partial Content
表示服务器已经完成了部分GET请求(客户端进行了范围请求)
3xx(重定向)
301 Moved Permanently
永久重定向,表示请求的资源已经永久的搬到了其他位置
302 Found
临时重定向,表示请求的资源临时搬到了其他位置
303 See Other
表示请求资源存在另一个URI,应使用GET定向获取请求资源
304 Not Modified
表示客户端发送附带条件的请求(GET方法请求报文中的IF…)时,条件不满足
307 Temporary Redirect
临时重定向,和302有着相同含义
4xx(客户端错误)
400 Bad Request
表示请求报文存在语法错误或参数错误,服务器不理解
401 Unauthorized
表示发送的请求需要有HTTP认证信息或者是认证失败了
403 Forbidden
表示对请求资源的访问被服务器拒绝了
404 Not Found
表示服务器找不到你请求的资源
5xx(服务器错误)
500 Internal Server Error
表示服务器执行请求的时候出错了
503 Service Unavailable
表示服务器超负载或正停机维护,无法处理请求
http和https的区别
| 协议 | 数据加密传输(本质区别) | 传输协议 | 端口 |
|---|---|---|---|
| HTTP | 无 | 超文本传输协议 | 80 |
| HTTPS | 有 | ssl加密传输协议 | 443 |
https相对于http的改进
1.双向的身份认证
客户端和服务端在传输数据之前,会通过基于X.509证书对双方进行身份认证 。
2.数据传输的机密性
客户端和服务端在开始传输数据之前,会协商传输过程需要使用的加密算法。
3.防止重放攻击
SSL使用序列号来保护通讯方免受报文重放攻击。这个序列号被加密后作为数据包的负载。在整个SSL握手中,都有一个唯一的随机数来标记SSL握手。 这样防止了攻击者嗅探整个登录过程,获取到加密的登录数据之后,不对数据进行解密, 而直接重传登录数据包的攻击手法。
https的工作原理
- 客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
- Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
- 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
- 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
- Web服务器利用自己的私钥解密出会话密钥。
- Web服务器利用会话密钥加密与客户端之间的通信。





