首页 > 其他分享 >面试常见问题——http/https的区别,cookie和session的区别

面试常见问题——http/https的区别,cookie和session的区别

时间:2024-04-07 10:58:20浏览次数:24  
标签:存储 常见问题 http 区别 SSL Session https 客户端

http:

1、简单快速

2、传输类型灵活

3、无连接

4、无状态

一般http中存在如下问题:

  • 请求信息明文传输,容易被窃听截取。
  • 数据的完整性未校验,容易被篡改
  • 没有验证对方身份,存在冒充危险 

https:

  1. 首先客户端通过URL访问服务器建立SSL连接。
  2. 服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端。
  3. 客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  4. 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  5. 服务器利用自己的私钥解密出会话密钥。
  6. 服务器利用会话密钥加密与客户端之间的通信。
 https的缺点:
  • HTTPS协议多次握手,导致页面的加载时间延长近50%;
  • HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;
  • 申请SSL证书需要钱,功能越强大的证书费用越高。
  • SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。

 

总结:

  • HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。
  • http和https使用连接方式不同,默认端口也不一样,http是80,https是443。

 

cookie和session的区别:

  1、存储方式不同:cookie存储在客户端的浏览器中,session存储在服务器端

  2、安全性:Session相对于Cookie更为安全

  3、 存储的数据类型:Cookie只能存储简单的字符串数据,如用户名、密码等。而Session则可以存储任意类型的数据,包括对象、数组等复杂数据结构

  4、大小限制:单个Cookie的大小不能超过4KB(具体大小取决于浏览器和服务器端的设置)。而Session则没有这样的限制

 

总结:

  • Cookie适用于存储少量简单信息且需要长期保存的场景如用户登录状态保持、个性化设置等;

  • Session适用于存储大量复杂信息且只需要短期保存的场景如购物车功能、表单提交等;

  • 在安全性要求较高的情况下应优先考虑使用Session来跟踪用户会话并采取必要的安全措施来保护Session数据的安全;

  • 在处理大量并发请求时应合理控制服务器上存储的Session数量以避免对服务器性能造成过大影响。

 

标签:存储,常见问题,http,区别,SSL,Session,https,客户端
From: https://www.cnblogs.com/hd-test/p/18118591

相关文章

  • 面试常问问题——get/post的区别以及常见状态码
     get:1、请求的url+header2、get多用来查询,请求参数放在url中,不会对服务器上的内容产生作用3、GET的参数是直接添加到URL后面的,直接就可以在URL中看到内容4、GET提交的数据长度是有限制的,因为URL长度有限制,具体的长度限制视浏览器而定 post:1、请求的url+header+body2......
  • centos7:编译升级 openssh:主要参考“https://github.com/boypt/openssh-rpms”
    参考“https://github.com/boypt/openssh-rpms”  “Releases·boypt/openssh-rpms(github.com)” 安装人家大牛的文档来操作即可。可选的,自行定制 version.env,可进行各种组合! BackportOpenSSHRPM/SRPMforoldCentOSAsimplescripttobuildlatestOpen......
  • mybatis - Jdbc、Hibernate、Mybatis的区别
      一、采用JDBC方式访问数据库 1.1、使用JDBC的5个步骤① 注册驱动和数据库信息②获得 Connection,并使用它打开Statement对象③通过Statement对象执行SQL语句,并获得结果对象 ResultSet④通过代码将ResultSet对象转化为 POJO对象⑤ 关闭数据库资源 1.2......
  • C++基础——字符串(C语言和C++的字符串风格区别)
    C语言风格的字符串字符串通常是以字符数组或字符指针的形式表示的。字符串以空字符('\0')结尾!!!两种形式:(1)字符指针形式的字符串charstr[]="HelloC++";(2)字符数组形式的字符串char*ptr="HelloC++";C风格字符串的运算运算需要使用string函数,需要加入头文件<stri......
  • HTTP和HTTPS的区别
    1、什么是http和https?HTTP(HyperTextTransferProtocol)和HTTPS(HypertextTransferProtocolSecure)是两种主要应用于互联网通信的协议,它们主要用于传输网页内容和其他数据。2、区别是什么? 1.安全性:•HTTP 是一种无状态、明文传输的协议,这意味着在HTTP连......
  • HTTP有哪几个版本?
    HTTP(HyperTextTransferProtocol,超文本传输协议)经历了多个版本的发展,以下是主要版本的特点:-HTTP/0.9:•发布于1991年,是最原始的HTTP版本。•极其简洁,仅支持GET方法请求。•不包含请求头,也不支持状态码和多类型的内容。•只能获取HTML格式的文档,服务器发送完响应就......
  • HTTP协议详解
    HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(NextGenerationofHTTP)的建议已经......
  • 箭头函数与普通函数的区别 ( 6 点 )
    还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。No.内容链接1Openlayers【入门教程】-......
  • C++11中auto与decltype的区别与联系深入解析
    文章目录一、引言二、auto关键字及其特性1、auto的基本定义与用途2、auto在类型推导中的应用3、auto的局限性及需要注意的问题三、decltype关键字及其特性1、decltype的基本定义与用途2、decltype在类型推导中的应用3、decltype的局限性及需要注意的问题四、auto与decl......
  • v-show和v-if的区别
    v-show可以写在dom标签中,可以根据表达式的true还是false来判断是否显示该标签的内容v-show是通过css属性的display来控制是否显示的,不删除元素v-show:在所写的代码中按住f12选择样式,display被划掉了,元素被显示了 当display勾选的时候,元素不显示了 所以v-show更适合用于......