JS面试题|[2024-12-31]

news2025/1/3 12:43:49

1.了解过JWT吗?

JWT(JSON Web Token) :通过JSON形式作为在web应用中的令牌,可以在各方之间安全的把信息作为JSON对象传输。

作用是:信息传输,授权

JWT的认证流程:

        1.前端把账号密码发送给后端接口

        2.后端核对账号密码成功后,把用户id等其他信息作为JWT负载,把它和头部分分别进行base64编码拼接后签名,形成一个JWT(token)

        3.前端每日请求时会把JWT放在HTTP请求头的Authorization字段内

        4.后端检查是否存在,如果存在就验证JWT的有效性(签名是否正确,token是否过期)

        5.验证通过后,后端使用JWT中包含的用户信息进行其他的操作,并返回对应的结果

优点:简洁、包含性,因为Token是JSON加密的形式保存在客户端,所以JWT是跨语言的,原则上是任何web形式都支持。

2.npm的底层环境是什么?

npm(node package manager):node的包管理和分发工具,已经成为分发node模块的标准,是JS的运行环境。

npm的组成:网站、注册表、命令行工具

3.HTTP协议规定的请求头和响应头有什么?

1.请求头

        Accept:浏览器所支持的数据类型

        Host:浏览器想访问服务器的哪台主机

        Referer:浏览器是从哪里来的(防盗链)

        User-Agent:浏览器类型、版本信息

        Date:浏览器是什么时候访问的

        Connection:链接方式

2.响应头

        Location:告诉浏览器要去找谁

        Server:服务器的类型

        Content-Type:返回的数据类型

        Refresh:控制了的定时刷新

4.说一下浏览器的缓存策略

强缓存(本地缓存)、协商缓存(弱缓存)

强缓:不发起请求,直接使用缓存里的内容,浏览器把JS,CSS,image等存到内存中,下次用户访问直接从内存中取,提高性能

协缓:需要向后台发请求,通过判断来决定是否使用协商缓存,如果请求内容没有改变,则返回304,浏览器就用缓存里的内容

强缓存的触发:

        HTTP1.0:时间戳响应标头

        HTTP2.0:Cache-Control响应标头

协商缓存的触发:       

        HTTP1.0:请求头 -- if-modified-since 响应头 -- last-modifed

        HTTP2.0:请求头 -- if-none-match 响应头 -- Etag

5.说一下什么是“同源策略”?

http://www.aaa.com:8080/index/vue.js

http -- 协议

www -- 子域名

aaa.com -- 主域名

8080 -- 端口号

vue.js -- 资源

同源策略是浏览器的核心,如果没有这个策略就会遭受网络攻击

主要指的就是 协议+域名+端口号 三者一致,若其中一个不一样则不是同源,会产生跨域

三个允许跨域加载资源的标签:img link script

跨域是可以发送请求,后端也会正常返回结果,只不过这个结果被浏览器拦截了!

解决跨域的方法:1.JSONP 2.CORS 3.websocket 4.反向代理

2024年的最后一天了,提前祝新年快乐,万事顺遂!

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

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

相关文章

记录第一次跑YOLOV8做目标检测

今天是24年的最后一天,终于要向新世界开始破门了,开始深度学习,YOLO来敲门~ 最近做了一些皮肤检测的功能,在传统的处理中经历了反复挣扎,终于要上YOLO了。听过、看过,不如上手体会过~ 1、YOLO是什么&#x…

如何配置Java应用程序的远程调试

配置Java应用程序的远程调试涉及几个步骤,包括在启动Java应用程序时设置特定的JVM参数,以及在IDE(如Eclipse、IntelliJ IDEA等)中配置远程调试连接。以下是详细的步骤: 启动Java应用程序时启用远程调试 为了能够远程…

2025考研江南大学复试科目控制综合(初试807自动控制原理)

​ 2025年全国硕士研究生招生考试江南大学考点 一年年的考研如期而至,我也变成了研二了,作为2次考研经历的学长,总是情不自禁地回想起自己的考研经历,我也会经常从那段经历中汲取力量。我能理解大多数考生考完后的的迷茫无助&…

时间序列预测算法---LSTM

文章目录 一、前言1.1、深度学习时间序列一般是几维数据?每个维度的名字是什么?通常代表什么含义?1.2、为什么机器学习/深度学习算法无法处理时间序列数据?1.3、RNN(循环神经网络)处理时间序列数据的思路?1.4、RNN存在哪些问题?…

[羊城杯 2024]不一样的数据库_2

题目描述: 压缩包6 (1).zip需要解压密码: 尝试用ARCHPR工具爆破一下: (字典可自行在github上查找) 解压密码为:753951 解压得到13.png和Kee.kdbx文件: 二维码图片看上去只缺了正常的三个角&…

图像处理-Ch7-小波函数

个人博客!无广告观看,因为这节内容太多了,有点放不下,分了三节 文章目录 多分辨率展开(Multi-resolution Expansions)序列展开(Series Expansions)尺度函数(Scaling Function)例:哈尔尺度函数(Haar scaling func)多分…

CPT203 Software Engineering 软件工程 Pt.2 敏捷方法和需求工程(中英双语)

文章目录 3. Aglie methods(敏捷方法)3.1 Aglie methods(敏捷方法)3.1.1 特点3.1.2 优点3.1.3 缺点3.1.4 原则3.1.5 计划驱动与敏捷方法的对比 3.2 Scrum3.2.1 Scrum roles3.2.2 Scrum Activities and Artifacts3.2.2.1 Product B…

【人工智能机器学习基础篇】——深入详解深度学习之神经网络基础:理解前馈神经网络与反向传播算法

深入详解深度学习之神经网络基础:理解前馈神经网络与反向传播算法 深度学习作为人工智能(AI)的核心技术,已经在语音识别、图像处理、自然语言处理等诸多领域取得了显著的成果。而在深度学习的众多模型中,**前馈神经网络…

【循环神经网络】RNN介绍

在人工神经网络中,”浅层网络”是指具有一个输入层、一个输出层和最多一个没有循环连接的隐藏层的网络。随着层数的增加,网络的复杂性也在增加。更多的层或循环连接通常会增加网络的深度,并使其能够提供不同级别的数据表示和特征提取&#xf…

【论文投稿】Python 网络爬虫:探秘网页数据抓取的奇妙世界

【IEEE出版|广东工业大学主办】第五届神经网络、信息与通信工程国际学术会议(NNICE 2025)_艾思科蓝_学术一站式服务平台 目录 前言 一、Python—— 网络爬虫的绝佳拍档 二、网络爬虫基础:揭开神秘面纱 (一)工作原…

基于深度学习的视觉检测小项目(二) 环境和框架搭建

一、环境和框架要求 SAM的环境要求: Python>3.7 PyTorch>1.7 torchvision>0.8 YOLO V8的环境要求:YOLO集成在ultralytics库中,ultralytics库的环境要求: Python>3.7 PyTorch>1.10.0 1、确定pytorch版本…

SQLiteDataBase数据库

XML界面设计 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_paren…

cesium小知识: 处理动画的5种方式

在 Cesium 中处理动画可以通过多种方式实现,具体取决于你想要创建的动画类型。Cesium 提供了丰富的API来支持不同种类的动画,包括但不限于物体的移动、旋转、缩放、属性变化等。以下是几种常见的动画处理方法: 1. 使用 Entity 和 SampledProperty 对于动态数据或随时间变化…

【鸿蒙NEXT】鸿蒙里面类似iOS的Keychain——关键资产(@ohos.security.asset)实现设备唯一标识

前言 在iOS开发中Keychain 是一个非常安全的存储系统&#xff0c;用于保存敏感信息&#xff0c;如密码、证书、密钥等。与 NSUserDefaults 或文件系统不同&#xff0c;Keychain 提供了更高的安全性&#xff0c;因为它对数据进行了加密&#xff0c;并且只有经过授权的应用程序才…

visual studio连接sql server数据库

目录 1、为什么要建立连接2、在sql server中建立数据库3、visual studio连接sql server数据库4、学生信息管理系统页面布局5、添加事件逻辑 5.1 页面跳转5.2 读取学生信息5.3 查询学生信息5.4 修改学生信息5.5 删除学生信息5.6 添加学生信息 bilibili演示视频 github源码 1、…

STM32-笔记23-超声波传感器HC-SR04

一、简介 HC-SR04 工作参数&#xff1a; • 探测距离&#xff1a;2~600cm • 探测精度&#xff1a;0.1cm1% • 感应角度&#xff1a;<15 • 输出方式&#xff1a;GPIO • 工作电压&#xff1a;DC 3~5.5V • 工作电流&#xff1a;5.3mA • 工作温度&#xff1a;-40~85℃ 怎么…

vuex - 第一天

思维逻辑 解决问题 代码能力2 vue2的项目 北京前端鸿蒙6期 语雀 vuex 在组件中使用 插件支持v2和v3 宏任务 和 微任务 多问问自己为什么 new的四步 查找数组里是否包含某个元素 同步任务、异步任务、微任务、宏任务

三大行业案例:AI大模型+Agent实践全景

本文将从AI Agent和大模型的发展背景切入&#xff0c;结合51Talk、哈啰出行以及B站三个各具特色的行业案例&#xff0c;带你一窥事件驱动架构、RAG技术、人机协作流程&#xff0c;以及一整套行之有效的实操方法。具体包含内容有&#xff1a;51Talk如何让智能客服“主动进攻”&a…

STM32G0B1 can Error_Handler 解决方法

问题现象 MCU上电&#xff0c;发送0x13帧数据固定进入 Error_Handler 硬件介绍 MCU :STM32G0B1 can:NSI1042 tx 接TX RX 接RX 折腾了一下午&#xff0c;无解&#xff0c;问题依旧&#xff1b; 对比测试 STM32G431 手头有块G431 官方评估版CAN 模块&#xff1b; 同样的…

【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地

前言&#xff1a;本文教程为&#xff0c;上传文件到服务器并训练深度学习模型&#xff0c;与下载服务器文件到本地。演示指令输入&#xff0c;完整的上传文件到服务器&#xff0c;并训练模型过程&#xff1b;并演示完整的下载服务器文件到本地的过程。 本文使用的服务器为云服…