前端面试问题汇总 - HTTP篇

1. 登录拦截如何实现?

        在前端,可以拦截所有需要登录的请求,如果用户未登录或者登录过期,则跳转到登录页面。

2. http 缓存有哪些?

  • 强缓存
    • 强缓存是指在客户端请求资源时,先检查本地是否存在缓存,如果缓存存在且未过期,则直接从本地缓存中获取资源不发送请求到服务器。
    • 常见的强缓存策略包括:
      • Expires 头字段:指定资源的到期时间,由服务器返回,以 GMT 格式表示。
      • Cache-Control 头字段:指定缓存控制策略,包括 max-age、no-cache、no-store、private、public 等指令。
  • 协商缓存
    • 当强缓存未命中时,浏览器会向服务器发送请求,服务器会验证资源是否发生了变化。
    • 如果资源未发生变化,则服务器返回 304 Not Modified 响应,告知客户端可以使用本地缓存
    • 常见的协商缓存策略包括:
      • Last-Modified 、 If-Modified-Since 头字段:表示资源的最后修改时间,客户端可以通过 If-Modified-Since 头字段发送上一次获取资源时的最后修改时间,服务器根据这个时间判断资源是否发生变化。
      • ETag 、 If-None-Match 头字段:表示资源的唯一标识符,客户端可以通过 If-None-Match 头字段发送上一次获取资源时的 ETag 值,服务器根据这个值判断资源是否发生变化。

3. http https 区别

  • HTTP(Hypertext Transfer Protocol):
    • HTTP 是一种基于客户端-服务器架构的协议,用于在 Web 浏览器和 Web 服务器之间传输超文本文档,以及其他类型的数据。
    • HTTP 是一种无状态协议,即服务器不会保存客户端的状态信息。每次请求都是独立的,服务器不会记得之前的请求或会话。
    • HTTP 默认使用端口号 80
  • HTTPS(Hypertext Transfer Protocol Secure):
    • HTTPS 是在 HTTP 的基础上加入了安全性的扩展,通过 SSL/TLS 协议对数据进行加密和认证,以确保数据传输的安全性和完整性。
    • HTTPS 在 HTTP 的基础上使用了加密算法,对数据进行加密,使得传输的数据在网络上更难被窃取或篡改
    • HTTPS 默认使用端口号 443

主要区别:

  • 安全性: HTTPS 提供了数据传输的安全性,通过加密算法对数据进行加密,防止数据被窃取或篡改,而 HTTP 则是明文传输,数据在传输过程中可能被窃取。
  • 认证: HTTPS 还提供了服务器身份认证的功能,确保客户端与服务器端建立连接时,连接的是预期的服务器,而 HTTP 并没有这样的认证机制,容易受到中间人攻击。
  • 性能: HTTPS 在数据传输过程中需要额外的计算和加密解密操作,相比于 HTTP,HTTPS 会增加一些性能开销,但由于现代计算机硬件的性能提升,这种性能开销已经不太明显。

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

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

相关文章

uniapp实现事件级防抖

背景: uniapp项目中所有页面跳转都会触发多次点击事件,导致页面排版错乱或其他问题 在utils文件夹下创建debounce.js文件 export const Debounce (fn, wait) > {let delay wait || 500let timerreturn function() {let args arguments;if (time…

CentOS 7软件安装全攻略:YUM命令详解与实战

在CentOS 7中,软件安装主要依赖于其强大的包管理器——YUM(Yellowdog Updater Modified)。YUM可以自动解决软件包之间的依赖关系,使得软件的安装、更新和卸载变得简单而高效。本文将详细介绍CentOS 7中软件安装的相关命令、选项和…

How to fix compile error: cannot find -lstdc++

用如下命令编译UTbot的example 程序, /mnt/data/maml2/utbot/2023.12.0/utbot_distr/install/bin/cmake -DCMAKE_ASM_USE_RESPONSE_FILE_FOR_INCLUDESOFF -DCMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDESOFF -DCMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDESOFF -DCMAKE_ASM…

window10轻松使用k8s

Docker Desktop安装篇 1、win10安装 1、下载安装包 https://www.docker.com/products/docker-desktop/ 官网下载安装包 2、配置win10支持虚拟化 不勾选Hyper-V,容易出错 3、安装WSL配置window支持linux Windows Subsystem for Linux (WSL) 安装 Linux 子系统&am…

嵌入式sqlite3交叉编译移植

操作系统:Ubuntu20.04 下载sqlite3代码,下载版本3.30.00 wget https://www.sqlite.org/2019/sqlite-amalgamation-3300000.zip 或者https://download.csdn.net/download/benico/89127678 为什么下载amalgamation版本,不下载autoconf版本? 根据我的编译实验,同版本sql…

python爬取京东商品信息与可视化

项目介绍:使用python爬取京东电商拿到价格、店铺、链接、销量并做可视化 ........................................................................................................................................................... 项目介绍效果展示全部…

数据库系统概论(超详解!!!)第四节 数据库安全性

问题的提出: 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享。 1.数据库的安全概述 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏 。 系统安全保护措施是否有效…

C语言:约瑟夫环问题详解

前言 哈喽,宝子们!本期为大家带来一道C语言循环链表的经典算法题(约瑟夫环)。 目录 1.什么是约瑟夫环2.解决方案思路3.创建链表头结点4.创建循环链表5.删除链表6.完整代码实现 1.什么是约瑟夫环 据说著名历史学家Josephus有过以下…

C/C++基础----判断和循环

判断 if-elseif-else判断 语句&#xff1a; 条件使用之前的逻辑运算符或者关系运算符 if(条件1){条件1成立时内容 }else if(条件2){条件2成立时内容 }else{所有条件不成立时内容 }#include <iostream>using namespace std;int main() {int age 10;if (age > 18) {c…

【C Hash Map from Redis】

将Redis源码中的哈希表底层逻辑提取&#xff0c;并进行最小demo级测试将对应文件抽出&#xff0c;通过宏替换等方式保证源码编译通过main.c编写测试demo &#xff0c;注册哈希函数和值比较函数&#xff08;必选项&#xff09; /* Hash Tables Implementation.** This file imp…

Java 原生代码获取服务器的网卡 Mac 地址、CPU序列号、主板序列号

1、概述 Java 可以获取服务器的网卡 Mac 地址、CPU 序列号、主板序列号等信息&#xff0c;用来做一些软件授权验证、设备管理等场景。 2、代码实现 package com.study.util;import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Scanner;/*** …

elasticsearch7安全配置--最低安全等级,用户名密码

上一篇博客在centos7上安装了elasticsearch7 接下来对elasticsearch进行安全方面的配置 minimal security 最低安全等级&#xff0c;用户名密码 首先开启xpack vim config/elasticsearch.yml xpack.security.enabled: true由于我是单机配置的&#xff0c;还加了如下配置 d…

K8S私服镜像应用部署

在Kubernetes中(详细安装步骤见另一篇文章)&#xff0c;加载本地镜像并滚动升级涉及到几个步骤。以下是一个概述&#xff0c;包括如何将本地镜像推送到私有仓库&#xff0c;如何在Kubernetes中使用这些镜像&#xff0c;以及如何实现滚动升级。 1. 将本地镜像推送到私有仓库 见…

SAP HCM GET pernr无法获取到数据二

今天遇到一个比较奇怪的问题&#xff0c;PA30能查到员工主数据&#xff0c;任何信息类型也没有错误&#xff0c;但是核算工资的时候发现无法找到此人。 但是核算工资无法核算 断点到逻辑数据get pernr&#xff0c;也不会进入断点 查看0000数据有间隔 具体错误的代码位置如下&am…

从 iPhone 上的短信中恢复已删除的图片的可靠方法

您可能在浏览消息聊天时不小心删除了一些文本和照片。事实上&#xff0c;如果这些消息对你来说意义重大&#xff0c;那对你来说可能会很麻烦。当发生意外情况时&#xff0c;您可能不想恢复整个聊天&#xff0c;而是恢复其中的附件。 好了&#xff0c;这篇文章主要是讲如何灵活…

WPF 数据绑定类属性 和数据更新

WPF中数据绑定是一个非常强大的功能&#xff0c;不仅可以绑定后台数据&#xff0c;还可以进行实时更新。 数据绑定实例 : 在后台创建模型类&#xff0c;然后在标签页面进行导入并绑定。 第一步: // 在后台创建模型类 public class MyData {public string Name { get; set; }…

Towards Street-Level Client-Independent IP Geolocation(2011年)(第二部分)

被引次数:306 Wang Y, Burgener D, Flores M, et al. Towards {Street-Level}{Client-Independent}{IP} Geolocation[C]//8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11). 2011. 接着Towards Street-Level Client-Independent IP Geolocati…

【数据恢复软件】:Magnet AXIOM V8.0

Magnet AXIOM V8.0重大更新 1、全新的UI设计 2、更快的相应速度 3、补全工件分析 4、支持亚马逊AWS云数据&#xff08; 获取同一帐户或安全帐户上下文中的快照。 支持Windows实例、加密卷和超过1 TB的卷、具有多个卷的实例等等&#xff01; &#xff09; 5、Bug修复 6、AI支持…

AI虽强,搜索引擎仍不可或缺

AI 领域正以前所未有的速度发展&#xff0c;大模型的发布变得愈发频繁&#xff0c;模型的规模也在持续扩大。如今&#xff0c;大模型的起点已经攀升至数十亿参数&#xff08;数十 B&#xff0c;B 是 Billion 的简写&#xff0c;10 亿&#xff09;&#xff0c;其功能之广泛&…

从零实现诗词GPT大模型:数据集介绍和预处理

本章将介绍该系列文章中使用的数据集&#xff0c;并且编写预处理代码&#xff0c;处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry&#xff0c;是一个在github上开源的中文诗词数据集&#xff0c;根据仓库中readme.md中的介绍&#xff0c;该数据…