首页 > 编程语言 >2023春招:Javaweb面试锦囊

2023春招:Javaweb面试锦囊

时间:2023-06-08 18:33:23浏览次数:79  
标签:浏览器 Javaweb Token session cookie 春招 2023 客户端 请求


cookie 和 session 的区别?(必会)

存储位置不同

cookie 存放在客户端电脑,是一个磁盘文件。Ie 浏览器是可以从文件夹中找到。session 是存放在服务器内存中的一个对象。 chrome 浏览器进行安全处理,只能通过浏览器找到。Session 是服务器端会话管理技术,并且 session 就是 cookie 实现的。

存储容量不同

单个cookie 保存的数据<=4KB,一个站点最多保存 20 个 Cookie。

对于session 来说并没有上限,但出于对服务器端的性能考虑,session 内不要存放过多的东 西,并且设置 session 删除机制。

存储方式不同

cookie 中只能保管 ASCII 字符串,并需要通过编码方式存储为 Unicode 字符或者二进制数据。

session 中能够存储任何类型的数据,包括且不限于 string,integer,list,map 等。

隐私策略不同

cookie 对客户端是可见的,别有用心的人可以分析存放在本地的 cookie 并进行 cookie 欺骗,所以它是不安全的。

session 存储在服务器上,不存在敏感信息泄漏的风险。

有效期上不同

开发可以通过设置cookie 的属性,达到使 cookie 长期有效的效果。

session 依赖于名为JSESSIONID 的cookie,而 cookie JSESSIONID 的过期时间默认为-1,只需关闭窗口该 session 就会失效,因而 session 不能达到长期有效的效果。

服务器压力不同

cookie 保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie 是很好的选择。

session 是保管在服务器端的,每个用户都会产生一个 session。假如并发访问的用户十分多,会产生十分多的 session,耗费大量的内存。

HTTP 中重定向和请求转发的区别?

实现

转发:用request 的 getRequestDispatcher()方法得到 ReuqestDispatcher 对象,调用forward()方法

request.getRequestDispatcher("other.jsp").forward(request, response);

重定向:调用response 的 sendRedirect()方法response.sendRedirect("other.jsp");

重定向

2 次请求,请求转发 1 次请求

3> 重定向地址栏会变,请求转发地址栏不变

4> 重定向是浏览器跳转,请求转发是服务器跳转

5> 重定向可以跳转到任意网址,请求转发只能跳转当前项目

6>请求转发不会丢失请求数据,重定向会丢失

Get 和 Post 的区别?

Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的。

Get 传送的数据量较小,一般传输数据大小不超过 2k-4k(根据浏览器不同,限制不一样, 但相差不大这主要是因为受 URL 长度限制;Post 传送的数据量较大,一般被默认为不受限制。

Get 限制 Form 表单的数据集的值必须为 ASCII 字符;而 Post 支持整个 ISO10646 字符集。

Get 执行效率却比 Post 方法好。Get 是 form 提交的默认方法。


什么是Token

Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

token一般都需要在后端服务保存一份,比如使用redis保存。如果不想保存,可以使用jwt方案。

如何解决跨域问题?

跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。

所谓同源指的是:协议、域名、端口号都相同,只要有一个不相同,那么都是非同源。

解决方案:

1:使用ajax的jsonp

2:nginx 转发:利用nginx反向代理,将请求分发到部署相应项目的tomcat服务器,当然也不存在跨域问题。

3:使用cors:写一个配置类实现WebMvcConfigurer接口或者配置FilterRegistrationBean 网关也可以配置跨域,如果网关配置了跨域,后边微服务一般不需要配置

http和https的区别?

2023春招:Javaweb面试锦囊_servlet

 

标签:浏览器,Javaweb,Token,session,cookie,春招,2023,客户端,请求
From: https://blog.51cto.com/u_16147814/6442201

相关文章

  • 2023春季招聘面试集锦:MYSQL数据库高频面试题
    mysql索引的数据结构,各自优劣索引的数据结构和具体存储引擎的实现有关,在MySQL中使用较多的索引有Hash索引,B+树索引等,InnoDB存储引擎的默认索引实现为:B+树索引。对于哈希索引来说,底层的数据结构就是哈希表,因此在绝大多数需求为单条记录查询的时候,可以选择哈希索引,查询性能最快;其余大......
  • 小治同学的JAVAWEB学习笔记-Junit&反射&注解
    Junit单元测试Junit使用:白盒测试 步骤 1.定义一个测试类(测试用类) 建议: 测试类名:北侧是的类+Test 包名:XXX.XXX.XX.Test 2.定义测试方法:可以独立运行 建议: 方法名:test测试的方法名 返回值void 参数列表空参 3.给方法加@Test 判定结果 1.红......
  • 2023年持PMP®证书可以免考增持CSPM-2等级证书啦!
    好消息!好消息!好消息! 2023年起,持PMP®证书可以不用经过考试,直接增持一个同等证书CSPM-2,原PMP®证书不影响正常使用,相当于多了一个项目管理领域的证书。  什么是CSPM-2证书? CSPM,项目管理专业人员能力评价,是由全国项目管理标准化技术委员会发起,主要负责:我国项目管理领域标准化政......
  • 2023版全新高质量商业级小程序全栈项目实战新年都未有芳华
    2023版全新高质量商业级小程序全栈项目实战新年都未有芳华download:3wzxit666com分布式框架专题:Rocketmq和ElasticSearch在当前互联网时代,分布式技术已经成为了Web应用开发的重要组成部分。而分布式消息系统和搜索引擎也是其中两个不可或缺的组件。本文将深入介绍分布式消息系统Ro......
  • 2023.6.8 铺瓷砖
    这个问题是一个NP-完全问题,所以基本上只能用爆搜的方法去做,从数据范围是13x13也可以看出来,在暗示用爆搜去做。从大到小枚举正方形的长度k,尝试把这个正方形的左上角放到\((x,y)\)处。如果\((x,y)\)已经被其他正方形覆盖了,就尝试\((x,y+1)\)。否则,放置成功,调到\((x,y+k)\)处继续......
  • 2022-2023期末复习题
    2022-2023期末复习题一、单选题1、世界上第一个分组交换网称为(C)。A、TCP/IP网B、局域网C、ARPAnetD、X.25网2、用路由器连接的地域广大的网络称为(A)。A、广域网B、互联网C、局域网D、城域网3、(B)属于通信子网设备。A、服务器B、通信处理机C、终端D、主机......
  • 即将开幕!神策数据 2023 年金融营销科技价值发现论坛亮点前瞻
    由神策数据主办Hi-Finance、爱设计、亚马逊云科技协办和支持的开放融合引领营销5.0新纪元暨2023年金融营销科技价值发现论坛即将于6月9-10日在中国·杭州开幕届时百余位金融数字化从业者将共聚一堂探讨金融业发展的新思路、新路径、新趋势2023年,数字经济正进一步推动生产......
  • SummerResearch_Log_20230607
    WorkingContent:1.阅读"VariationalContinualLearning"论文及代码关于ContinualLearning(CL)的认识:这是一个贝叶斯推断过程,这里是gpt给出的贝叶斯推断概念和例子:即先确定一个先验分布,需要求的未知参数是θ(当然也可以添加其他类似α,β)的超参数之类的)。接下来我们进行实......
  • 2023.6.7 Linux系统日志管理
    01Linux系统⽇志管理系统⽇志架构概述syslog⽇志审查Journal⽇志审查Journal⽇志持久化⽇志轮询logrotate系统⽇志架构概述在rhel7系统中有两个⽇志服务,分别是传统的rsyslog和新添加的systemd-journalsystemd-journald是⼀个改进型的⽇志管理服务,可以收集来⾃内核......
  • 2023年5月31号聊一下今天以及最近的操作与感想!
    今天操作白糖日线向下,所以它稍微有点向下的趋势我就空了,最多浮亏1800,后面看到回本就跑了......