一、http和https的区别
1、http协议存在的问题
1)请求信息明文传输,容易被窃听截取。
2)数据的完整性未校验,容易被篡改
3)没有验证对方身份,存在冒充危险
2、https相对http协议的优点
1)通过 SSL证书来验证服务器的身份
2)为浏览器和服务器之间的通信进行加密
3、浏览器使用https协议传输数据的流程
1)首先客户端通过URL访问服务器建立SSL连接。
2)服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端。
3)客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级。客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给服务器。
4)服务器利用自己的私钥解密出会话密钥,服务器利用会话密钥加密与客户端之间的通信。
4、https相对http协议的缺点
1)HTTPS协议多次握手,导致页面的加载时间延长近50%;
2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;
3)申请SSL证书需要钱,功能越强大的证书费用越高。
4)SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。
5、https和http的区别
1)HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。
2)http和https使用连接方式不同,默认端口也不一样,http是80,https是443。
二、状态码
1、状态码分类:
1XX- 信息型,服务器收到请求,需要请求者继续操作。
2XX- 成功型,请求成功收到,理解并处理。
3XX - 重定向,需要进一步的操作以完成请求。
4XX - 客户端错误,请求包含语法错误或无法完成请求。
5XX - 服务器错误,服务器在处理请求的过程中发生了错误。
2.常见状态码:
200 OK - 客户端请求成功
301 - 资源(网页等)被永久转移到其它URL
302 - 临时跳转
400 Bad Request - 客户端请求有语法错误,不能被服务器所理解
401 Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
404 - 请求资源不存在,可能是输入了错误的URL
500 - 服务器内部发生了不可预期的错误
503 Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
三、get和post的区别
1)都包含请求头请求行,post多了请求body。
2)get多用来查询,请求参数放在url中,不会对服务器上的内容产生作用。post用来提交,如把账号密码放入body中。
3)GET是直接添加到URL后面的,直接就可以在URL中看到内容,而POST是放在报文内部的,用户无法直接看到。
4)GET提交的数据长度是有限制的,因为URL长度有限制,具体的长度限制视浏览器而定。而POST没有。
引用自:
https://zhuanlan.zhihu.com/p/72616216
网友评论