前端面经总结、学习【2023秋招】

目录

1、浏览器输入URL发生了什么?

URL解析:判断浏览器输入的是搜索内容还是URL;2、查找缓存:如果能找到缓存则直接返回页面,如果没有缓存则需要发送网络请求页面;3、DNS域名解析;4、三次握手建立TCP连接;5、发起HTTP请求;6、服务器响应并返回结果;7、通过四次挥手释放TCP连接;8、浏览器渲染;9、js引擎解析

链接:https://www.nowcoder.com/exam/interview/74068433/test?paperId=50270066\&jobs=[11201]\&order=0

2、跨域是什么?如何解决跨域问题?

跨域:当前页面中的某个接口请求的地址和当前页面的地址如果协议、域名、端口其中有一项不同,就说该接口跨域了。

跨域限制的原因:浏览器为了保证网页的安全,出的同源协议策略。

跨域解决方案

CORS:跨域资源共享(CORS),这是⽬前比较主流的跨域解决⽅案,

它利用一些额外的 HTTP 响应头来通知浏览器, 允许访问来自指定 origin 的非同源服务器上的资源。是目前最常用的一种解决办法,通过设置后端允许跨域实现。

res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader("Access-Control-Allow-Methods", "GET, PUT, OPTIONS, POST");

JSONP:利用的原理是script标签可以跨域请求资源,将回调函数作为参数拼接在url中。后端收到请求,调用该回调函数,并将数据作为参数返回去,注意设置响应头返回文档类型,应该设置成javascript。

postmessage:H5新增API,通过发送和接收API实现跨域通信。

服务器代理(webpack代理, Nginx反向代理)

同源策略是 浏览器 的一种⽤于隔离潜在恶意⽂件的重要安全保护机制 !(服务器没有这个策略限制)

在浏览器中,⼤部分内容都受同源策略限制,除了以下三个资源获取类型的标签:
script ## 3、概念:W3C标准

中文名:万维网联盟,外文名:World Wide Web Consortium

万维网联盟标准不是某一个标准,而是一些列标准的集合。网页主要有三部分组成:结构(Structure)、表现(Presentation)、行为(Behavior)。

对应的标准也有三方面:

结构化标准主要包括XHTML和XML,

表现标准语言主要包括CSS、

行为标准主要包括(如W3C DOM)、ECMAScript等。

这些标准大部分是W3C起草发布,也有一是其他标准组织制定的标准,比如ECMAScript(European

3、cookie 是什么?

cookie 是存储于访问者计算机中的变量。每当一台计算机通过浏览器来访问某个页面时,那么就可以通过 JavaScript 来创建和读取 cookie。

实际上 cookie 是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

不同浏览器对 cookie 的实现也不一样。即保存在一个浏览器中的 cookie 到另外一个浏览器是 不能获取的。

cookie 和 session 都能保存计算机中的变量,但是 session 是运行在服务器端的,而客户端我们只能通过 cookie 来读取和创建变量

4、cookie 能做什么?

用户在第一次登录某个网站时,要输入用户名密码,如果觉得很麻烦,下次登录时不想输入了,那么就在第一次登录时将登录信息存放在 cookie 中。下次登录时我们就可以直接获取 cookie 中的用户名密码来进行登录。

虽然 浏览器将信息保存在 cookie 中是加密了,但是可能还是会造成不安全的信息泄露

类似于购物车性质的功能,第一次用户将某些商品放入购物车了,但是临时有事,将电脑关闭了,下次再次进入此网站,我们可以通过读取 cookie 中的信息,恢复购物车中的物品。

实际操作中,这种方法很少用了,基本上都是将这些信息存储在数据库中。然后通过查询数据库的信息来恢复购物车里的物品

页面之间的传值。在实际开发中,我们往往会通过一个页面跳转到另外一个页面。后端服务器我们可以通过数据库,session 等来传递页面所需要的值。但是在浏览器端,我们可以将数据保存在 cookie 中,然后在另外页面再去获取 cookie 中的数据。

这里要注意 cookie 的时效性,不然会造成获取 cookie 中数据的混乱。

相关推荐
yngsqq几秒前
c#使用高版本8.0步骤
java·前端·c#
Mephisto.java20 分钟前
【大数据学习 | Spark-Core】Spark提交及运行流程
大数据·学习·spark
Myli_ing35 分钟前
考研倒计时-配色+1
前端·javascript·考研
余道各努力,千里自同风38 分钟前
前端 vue 如何区分开发环境
前端·javascript·vue.js
PandaCave1 小时前
vue工程运行、构建、引用环境参数学习记录
javascript·vue.js·学习
软件小伟1 小时前
Vue3+element-plus 实现中英文切换(Vue-i18n组件的使用)
前端·javascript·vue.js
yuwinter1 小时前
鸿蒙HarmonyOS学习笔记(2)
笔记·学习·harmonyos
醉の虾1 小时前
Vue3 使用v-for 渲染列表数据后更新
前端·javascript·vue.js
red_redemption1 小时前
自由学习记录(23)
学习·unity·lua·ab包
张小小大智慧1 小时前
TypeScript 的发展与基本语法
前端·javascript·typescript