前端面经总结、学习【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 中数据的混乱。

相关推荐
OpenTiny社区8 分钟前
开源之夏报名倒计时3天!还有9个前端任务有余位,快来申请吧~
前端·github
ak啊12 分钟前
WebGL魔法:从立方体到逼真阴影的奇妙之旅
前端·webgl
dddaidai12317 分钟前
kafka入门学习
分布式·学习·kafka
hang_bro23 分钟前
使用js方法实现阻止按钮的默认点击事件&触发默认事件
前端·react.js·html
用户907387036486432 分钟前
pnpm是如何解决幻影依赖的?
前端
明月清了个风38 分钟前
数据结构与算法学习笔记(Acwing 提高课)----动态规划·树形DP
笔记·学习·动态规划·树形dp
树上有只程序猿38 分钟前
Claude 4提升码农生产力的5种高级方式
前端
傻球39 分钟前
没想到干前端2年了还能用上高中物理运动学知识
前端·react.js·开源
咚咚咚ddd39 分钟前
前端组件:pc端通用新手引导组件最佳实践(React)
前端·react.js
Lazy_zheng40 分钟前
🚀 前端开发福音:用 json-server 快速搭建本地 Mock 数据服务
前端·javascript·vue.js