Java常见面试题-06-web

news2024/9/24 17:11:00

文章目录

  • TCP 与 UDP 区别?
  • 什么是 HTTP 协议?
  • TCP 的三次握手
  • HTTP 中重定向和请求转发的区别?
  • Get 和 Post 的区别?
  • cookie 和 session 的区别?
  • 介绍一下Ajax以及其优势
  • axios 是什么?怎样使用它?怎么解决跨域的问题?

TCP 与 UDP 区别?

在这里插入图片描述
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、 基于 IP 的传输层协议。
UDP (User Datagram Protocol 用户数据报协议),是 OSI 参考模型中的传输层协议,它是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

  • TCP 基于连接,UDP 无连接
  • TCP 要求系统资源较多,UDP 较少
  • TCP 保证数据正确性,UDP 可能丢包
  • TCP 保证数据顺序,UDP 不保证
  • TCP速度慢,UDP速度快

什么是 HTTP 协议?

客户端和服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。是一个基于请求与响应模式的、无状态的、应用层的协议,基于 TCP 的连接方式

TCP 的三次握手

在这里插入图片描述
为了准确无误地把数据送达目标处,TCP 协议采用了三次握手策略。
第一次握手:
客户端给服务器端发送一个SYN。客户端发送网络包,服务器收到了,服务器得出结论:客户端的发送能力、服务器的接收能力正常。

第二次握手:
服务器接收到了SYN报文之后,会应答一个SYN + ACK报文,服务器发包,客户端收到了,客户端得出结论:服务器端的发送、接收能力以及客户端的发送、接收能力正常,但是此时服务器端不能确认客户端的接收能力是否正常。

第三次握手:
客户端接收到了SYN + ACK报文之后,回应一个ACK报文。客户端发包,服务器收到了,服务器得出结论:客户端的接收和发送能力,自己的接收和发送能力都正常。

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

转发:用 request 的 getRequestDispatcher()方法得到 ReuqestDispatcher 对象,调用forward()方法
重定向:调用 response 的 sendRedirect()方法

  • 重定向 2 次请求,请求转发 1 次请求
  • 重定向地址栏会变,请求转发地址栏不变
  • 重定向是浏览器跳转,请求转发是服务器跳转
  • 重定向可以跳转到任意网址,请求转发只能跳转当前项目
  • 请求转发不会丢失请求数据,重定向会丢失

Get 和 Post 的区别?

  • Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的。
  • Get 传送的数据量较小,一般传输数据大小不超过 2k-4k(根据浏览器不同,限制不一样, 但相差不大这主要是因为受 URL 长度限制;Post 传送的数据量较大,一般被默认为不受限制。
  • Get 限制 Form 表单的数据集的值必须为 ASCII 字符;而 Post 支持整个 ISO10646 字符集。
  • Get 执行效率却比 Post 方法好。Get 是 form 提交的默认方法。

cookie 和 session 的区别?

  1. 存储位置不同
    cookie 存放在客户端电脑,是一个磁盘文件。Ie 浏览器是可以从文件夹中找到。
    session 是存放在服务器内存中的一个对象。 chrome 浏览器进行安全处理,只能通过浏览器找到。Session 是服务器端会话管理技术,并且 session 就是 cookie 实现的。
  2. 存储容量不同
    单个 cookie 保存的数据<=4KB,一个站点最多保存 20 个 Cookie。
    对于 session 来说并没有上限,但出于对服务器端的性能考虑,session 内不要存放过多的东西,并且设置 session 删除机制。
  3. 存储方式不同
    cookie 中只能保管 ASCII 字符串,并需要通过编码方式存储为 Unicode 字符或者二进制数据。
    session 中能够存储任何类型的数据,包括且不限于 string,integer,list,map 等。
  4. 隐私策略不同
    cookie 对客户端是可见的,别有用心的人可以分析存放在本地的 cookie 并进行 cookie 欺骗 , 所以它是不安全的 。
    session 存储在服务器上,不存在敏感信息泄漏的风险。
  5. 有效期上不同
    开发可以通过设置 cookie 的属性,达到使 cookie 长期有效的效果。
    session 依赖于名为JSESSIONID 的cookie,而 cookie JSESSIONID 的过期时间默认为-1,只需关闭窗口该 session 就会失效,因而 session 不能达到长期有效的效果。
  6. 服务器压力不同
    cookie 保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie 是很好的选择。
    session 是保管在服务器端的,每个用户都会产生一个 session。假如并发访问的用户十分多,会产生十分多的 session,耗费大量的内存。

介绍一下Ajax以及其优势

Ajax 即"Asynchronous JavaScript And XML"(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。

优势:

  • 通过异步模式,提升了用户体验
  • 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  • Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

axios 是什么?怎样使用它?怎么解决跨域的问题?

axios 的是一种异步请求,用法和 ajax 类似,安装 npm install axios --save 即可使用,请求中包括 get,post,put, patch ,delete 等五种请求方式.

解决跨域常用的有两种方式:
1.CORS 解决跨域问题,这需要通过后端来解决,通过设置 header 头来通配。使服务器允许跨域请求接口数据,而前端正常使用 axios 请求方式。
2.通过接口代理的方式,在 vue 项目中创建一个 vue.config.js,导入一个 devserve,并配置里面的选项即可。

欢迎java热爱者了解文章,作者将会持续更新中,期待各位友友的关注和收藏。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ICMP(Ping)功能原理及其C++实现简介

ICMP(Ping)功能原理及其应用简介 一、 Ping功能简介 1、 原始套接字(Raw Socket) 原始套接字&#xff08;‌Raw Socket&#xff09;‌是一种特殊的网络编程接口&#xff0c;‌它允许直接接收和发送网络层的数据包&#xff0c;‌而不是通过传输层。‌这种套接字可以接收本机网…

推荐 3个实用且完全免费的在线工具,每天都会用到,无需登录打开即用

100font 100font是一个专业的免费商用字体下载网站&#xff0c;专注于收集、整理和分享各种免费无版权的商用字体。用户可以在这个平台上找到并下载简体中文、繁体中文、英文、日文、韩文等多种语言类型的字体。 该网站的特点包括清晰的分类和直观的下载流程&#xff0c;用户可…

金字塔原理帮助你理清思路,提升职场表达力

金字塔原理帮助你理清思路 1分钟理清思路&#xff0c;提升职场表达力 金字塔原理概述 原则 解释 模型 结论先行 中心思想和结论只有一个&#xff0c;放在最前面 SCQA模型 以上统下 任一层的思想必须是下一层次思想的概括 演绎推理 归纳推理 归类分组 每组中的思想必…

【Linux网络】其他协议和技术:DNS、ICMP、NAT

本篇博客补充了 TCP/IP 分层模型中&#xff0c;应用层的 DNS 协议、网络层的 ICMP 协议、网络层的 NAT 技术&#xff0c;旨在让读者更加深入理解网络协议栈的设计和网络编程。 目录 一、DNS 协议 1&#xff09;技术背景 2&#xff09;域名与域名解析 二、ICMP 协议 1&…

Webstorm的下载与安装

Webstorm的下载 1 在浏览器的地址栏输入https://www.jetbrains.com/webstorm/&#xff0c;进入主页面 2 点击右上角的Download按钮&#xff0c;进入下载页面&#xff0c;如图所示 Webstorm的安装 按步骤逐步安装即可

tomcat文件上传漏洞练习

1、靶场账号注册 vulfocus 注册后邮箱中点击激活 2、首页选择并开启靶场 复制映射的ip和端口 在浏览器输入ip和端口 改成put并把1.jsp中内容复制进去 3打开哥斯拉&#xff0c;连接上面的网址

TCP协议程序设计

文章目录 前言一、TCP协议程序是什么&#xff1f;二、使用步骤 1.服务器端与客户端2.实操展示总结 前言 TCP网络程序设计是指利用Socket类编写通信程序。利用TCP协议进行通讯的两个应用程序是有主次之分的&#xff0c;一个称为服务器程序&#xff0c;另一个称为客户机程序&…

Go语言编程大全,web微服务数据库十大专题精讲

本课程主要从数据结构、Go Module 依赖管理、IO编程、数据库编程、消息队列、加密技术与网络安全、爬虫与反爬虫、web开发、微服务通用技术、Kitex框架等方面讲解~ 链接&#xff1a;https://pan.quark.cn/s/d65337a0e60d

S32K144 CAN使用

S32K144是恩智浦半导体推出的一款高性能微控制器&#xff08;MCU&#xff09;&#xff0c;主要针对汽车和高可靠性的工业应用。在汽车工业应用中使用CAN总线必不可少。 需要注意的是在ISO 11898(High Speed&#xff0c;速度在5kbps-1Mbps)中&#xff0c;隐形电平电压差在0附件…

收银机打印机相关知识 windows7 查看打印机名称--未来之窗智慧经营收银系统百科

一、名词解释 打印机型号&#xff0c;打印机厂家&#xff0c;打印机接口、打印机驱动&#xff0c;打印机名称 机器的机身都有&#xff0c;打印机品牌&#xff0c;型号 二、什么是打印机接口 2.1 usb接口 一般用在收银小票&#xff0c;结账单&#xff0c;水单 2.2 并口接口 …

RK3568平台开发系列讲解(文件系统篇)什么是 inode?

一、什么是 inode? 为了存储一个文件,除了本身的文件内容块,还需要一个地方来存储文件相关的元信息信息。承载这些文件元数据的数据结构就是 inode(index node),inode 包含了文件元信息,比如文件的所有者、权限、修改时间戳等。 可以使用 ls -i 查看一个文件的 inode 号…

java基础概念11-方法

一、什么是方法 方法&#xff08;method&#xff09;是程序中最小的执行单元。 方法中的程序&#xff0c;要不然就是一起执行&#xff0c;要不然就是一起不执行&#xff01;&#xff01;&#xff01; 二、方法的定义 在Java中&#xff0c;方法定义的一般格式如下&#xff1a;…

牛客 河南萌新联赛2024第(四)场:河南理工大学 B题

比赛链接&#xff1a; 河南萌新联赛2024第&#xff08;四&#xff09;场&#xff1a;河南理工大学_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) B题&#xff1a;小雷的神奇电脑 题目描述&#xff1a; 小雷有一台特殊的电脑&#xff0c;这台电…

搜维尔科技:如何使用 SenseGlove Nova 在其“CAVE”投影室中操纵虚拟物体

AVR 创建了一个创新的基于 PC 的多面沉浸式环境&#xff0c;参与者完全被虚拟图像和声音包围。 需要解决的挑战&#xff1a; 传统的 VR 系统通常缺乏逼真的触觉反馈&#xff0c;限制了用户的沉浸感。AVR Japan 旨在通过将触觉技术融入其 CAVE 系统来解决这一挑战&#xff0c;使…

【8-9月份唯一机械电气计算机主题的IEEE会议】第七届机电一体化与计算机技术工程国际学术会议(MCTE 2024,8月23-25)

由广东博士创新发展促进会、输变电装备技术全国重点实验室联合主办&#xff0c;重庆大学电气工程学院、AEIC学术交流中心协办的第七届机电一体化与计算机技术工程国际学术会议&#xff08;MCTE 2024&#xff09;将于2024年8月23-25日在中国广州隆重举行。 大会诚挚邀请您投递相…

学习日志8.7--Security Zone防火墙安全区域

安全区域实验拓扑开始之前先通过一台主机和防火墙相连&#xff0c;设置主机的IP地址和网关&#xff0c;开启防火墙设置防火墙接口g1/0/1的IP地址为192.168.1.254&#xff0c;将防火墙设置为主机的网关&#xff0c;尝试能不能用主机ping通防火墙。尝试之后&#xff0c;发现失败&…

蚂蚁CodeFuse代码大模型技术解析:基于全仓库上下文的代码补全

背景 2023年CodeFuse完成了百亿级别的代码大模型从0到1的预训练&#xff0c;配合指令微调、量化部署等一系列配套技术&#xff0c;成功将AI大模型能力应用到多个下游研发场景&#xff0c;助力生产提效。在众多下游产品中&#xff0c;CodeFuse代码补全插件直接触及研发过程中最…

性能测试趋势 2024

效率。其主要目标是确保软件满足性能要求并提供令人满意的用户体验。 有效的性能测试需要仔细的规划、真实的场景以及使用适当的工具来模拟真实世界的条件。定期进行性能测试有助于确保软件系统能够处理不同的工作负载并提供积极的用户体验。性能测试的未来正在受到技术发展的…

SSL证书配置

SSL证书配置 证书申请nginx 配置ssl证书 今天群友发现我的博客证书过期了&#xff0c;重新申请一个免费的部署一下 证书申请 点击创建证书 绑定对应的域名&#xff0c;选择快捷签发&#xff0c;点击提交审核 点击验证&#xff0c;如果购买的域名和服务器都在同一个账号下&…

WPF学习(7)- Control基类+ContentControl类(内容控件)+ButtonBase基类

前面给大家介绍完了WPF所有的布局控件&#xff0c;属性以及使用案例&#xff0c;从这里咱们就开始学下内容控件。 Control基类 Control是许多控件的基类。比如最常见的按钮&#xff08;Button&#xff09;、单选(RadioButton)、复选&#xff08;CheckBox&#xff09;、文本框…