前端面试题之【HTTP/HTML/浏览器】

news2024/11/15 19:53:21

1.说一下http与https

http:超文本传输协议,https:超文本传输安全协议
区别:

  1. http传输数据是未加密的,是明文传输;https使用ssl协议对数据进行加密处理;
  2. https协议需要ca证书,费用高;
  3. http端口号为80,https端口号为443;
  4. http是无状态连接,两者都是采用tcp的三次握手进行连接。

2. Https如何进行加密传输

3.http1.0与http2.0的区别,2.0与3.0呢

4.TCP三次握手

  1. c向s发包等待s确认;
  2. s收到包后确认再向c发包等待确认;
  3. c收到包后确认再向s发包,然后双方处于可发送或接收状态。

5.TCP与UDP

  1. tcp面向连接,udp不需要先建立连接;
  2. TCP面向字节流,UDP面向报文;
  3. TCP可靠。

6.Websocket

  1. Websocket是H5中的协议,支持持久连接;
  2. 基于http协议,可以发送多个request接收多个response;
  3. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。

7.输入一段url后

  1. DNS解析域名,拿到真实IP;
  2. 建立连接,TCP三次握手;
  3. 拿数据,渲染页面;
  4. 四次挥手。

8.如何渲染页面?

  1. html形成DOM树,css形成css结构体;
  2. 它们两者形成render tree渲染树;
  3. 计算页面布局;
  4. UI引擎渲染出页面。

9.HTTP请求

在这里插入图片描述

10. 状态码

在这里插入图片描述

  1. 200 请求成功
  2. 400 客户端请求的语法错误,服务器无法理解
  3. 401 请求要求用户的身份认证
  4. 403 服务器理解请求客户端的请求,但是拒绝执行此请求
  5. 404 服务器无法根据客户端的请求找到资源(网页)
  6. 500 服务器内部错误,无法完成请求

11.fetch发送两次请求

之所以会发送2次请求,那是因为我们使用了带预检的跨域请求(除了get、post、head请求)。该请求会在发送真实的请求之前发送一个类型为OPTIONS的预检请求。预检请求会检测服务器是否支持我们的真实请求所需要的跨域资源,唯有资源满足条件才会发送真实的请求。比如我们在请求头部增加了authorization项,那么在服务器响应头中需要放入Access-Control-Allow-Headers,并且其值中必须要包含authorization,否则OPTIONS预检会失败,从而导致不会发送真实的请求。

12.cookie、sessionstorage与localstorage的区别

  1. cookie在浏览器和服务器之间来回传递,sessionStorage、localStorage:仅在客户端(浏览器)中保存,不参与服务器的通信;
  2. cookie存储大小更小,否则会造成性能问题;
  3. cookie:判断用户是否登录过网站,以便实现下次自动登录或记住密码;保存事件信息;sessionStorage:敏感账号一次性登录,单页面用的较多;localStorage:用于长期登录,适于长期保存在本地的数据;
  4. cookie有效期一般服务器设置;localstorage一般永久,除非自己手动删除reomveItem,或者清除浏览记录;sessionstorage一般在页面关闭就失效。

13.webworker

14. 请求头内容

15. Cookie

16.XSS攻击与CRSF攻击

17.TCP拥塞控制

18. 跨域问题

19.session与cookie

20.HTML语义化标签

21.viewport与移动端布局

22. 事件流 addEventListener

23.强缓存与协商缓存

24.GET与POST区别

25.网站性能

26.H5新特性

27.meta 与Doctype

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

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

相关文章

【VUE 嵌套路由】

目录 1. 嵌套路由 2. 通俗小结 1. 嵌套路由 要使用菜单显示出“点击不同的菜单项显示不同的内容”的效果&#xff0c;需要使用嵌套路由&#xff01; 因为&#xff0c;在当前设计中&#xff0c;App.vue是显示整个页面的入口&#xff0c;而App.vue就已经使用<router-view/…

应急物资仓库管理系统-3D可视化管理系统

1. 系统介绍 RFID智慧应急物资仓库可视化管理系统是杭州东识科技有限公司基于物联网RFID技术、云计算技术、3D可视化技术、数据采集技术等&#xff0c;专门为政府、军队等部门量身定制的一体化物资综合管理平台。 本系统包括&#xff1a;物资安全监控部分——提供对环境温湿度监…

[附源码]Python计算机毕业设计Django失物招领微信小程序论文

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Slowloris DoS攻击的原理与简单实现

前言 Slowloris 攻击是我在李华峰老师的书——《Metasploit Web 渗透测试实战》里面看的&#xff0c;感觉既简单又使用&#xff0c;现在这种攻击是很容易被防护的啦。不过我也不敢真刀实战的去试&#xff0c;只是拿个靶机玩玩罢了。 废话还是写在结语里面吧。&#xff08;划掉&…

Java 中重写了 equals 为什么还要重写 hashCode?

问题 不管是在书本或者是博客上&#xff0c;都会推荐我们在重写 equals 方法时重写 hashCode 方法。明明对象之间就是通过 equals 方法进行判断的&#xff0c;那么为什么非要写 hashCode 方法呢? equals 实验 创建一个 Teacher 类。方便起见&#xff0c;就一个 name 属性。…

1.1 异步相关概念:初步了解

1.进程和线程的概念 计算机有5大基本组成部分&#xff0c;运算器&#xff0c;控制器&#xff0c;存储器&#xff0c;输入和输出。运算器和控制器封装到一起&#xff0c;加上寄存器组和cpu内部总线构成中央处理器&#xff08;CPU&#xff09;。cpu的根本任务&#xff0c;就是执…

2022年跨境电商卖家如何在Facebook上做广告【完整指南】

关键词&#xff1a;跨境电商卖家、Facebook广告 了解如何在 Facebook 上做广告对于大多数跨境电商卖家来说是一项非常重要的技能&#xff0c;因为您在 Facebook 上做广告&#xff0c;您的广告可以覆盖21.7 亿人——换句话说&#xff0c;接近世界人口的 30%。此外&#xff0c;该…

Java项目:SSM物业缴费管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色包含以下功能&#xff1a; 管理员登录,管理员管理,住户管理,缴费列表,公告列表管理,用户反馈管理等功能。 用户角色包含以下功能&…

[附源码]计算机毕业设计失物招领微信小程序论文Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

keras-gpu安装

需要安装&#xff1a; TensorFlow 安装&#xff08;包含cudatoolkit、cuDNN&#xff09; HDF5 和 h5py (如果你需要将 Keras模型保存到磁盘&#xff0c;则需要这些) graphviz 和 pydot (用于绘制模型图的可视化工具) Keras 一、更新驱动 先升级显卡驱动&#xff1a;https://zh…

【软件测试】测试老鸟老张,我的梦想是什么?梦想还在吗?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 老张&#xff1a; 这…

QML + KDDockWidget 实现 tabwidget效果( 窗口可独立浮动和缩放)

前言 前面文章介绍过在QML中使用ListView实现TabBar标签拖拽交换位置效果&#xff08;文章在这里&#xff09; 先在此基础上升级一下&#xff0c;结合KDDockWidget做一个可浮动的窗口效果。 关于KDDockWidget的介绍&#xff0c;以前的文章有写过&#xff0c;可参考&#xff…

[附源码]Python计算机毕业设计SSM健身俱乐部管理系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

移动WEB开发之rem布局--rem适配方案

思考 1. 我们适配的目标是什么&#xff1f; 2. 怎么去达到这个目标的&#xff1f; 3. 在实际的开发当中使用&#xff1f; 答案 1. 让一些不能等比自适应的元素&#xff0c;达到当设备尺寸发生改变的时候&#xff0c;等比例适配当前设备。 2. 使用媒体查询根据不同设备按比例…

idea高级调试技巧

前言 对于一名开发者来说&#xff0c;找出并处理掉Bug是不可或缺的能力。能够熟练的调试程序将大大提升开发的效率。学好DeBug&#xff0c;再多Bug也不怕。Debug用来追踪代码的运行流程&#xff0c;通常在程序运行过程中出现异常&#xff0c;启用Debug模式可以分析定位异常发生…

chapter7——处理字节顺序

目录1.定义2.小端模式和大端模式的比较3.处理字节顺序不匹配的问题4.访问32位存储器5.处理字节顺序不匹配6.字节顺序中性代码7.字节顺序中性编码指南1.定义 字节顺序定义数据在计算机系统中的存储格式。它描述存储器中地址的最高有效位&#xff08;MSB&#xff09;和最低有效位…

基于百度地图的交通查询的毕业设计(android)

目 录 1 前言 1 1.1 背景 1 1.2 论文主要内容与结构 1 2 基础技术介绍&#xff08;一&#xff09; 2 2.1 Android概述 2 2.2 Android架构 2 2.3 Android应用程序类型分析 5 3 基础技术介绍&#xff08;二&#xff09; 6 3.1 地图简介 6 3.1.1 地图概念 6 3.1.2 构成…

力扣(LeetCode)97. 交错字符串(C++)

动态规划 状态转移方程 f[[i,j]f[i−1,j]∣∣f[i,j−1]f[[i,j] f[i-1,j]\ ||\ f[i,j-1]f[[i,j]f[i−1,j] ∣∣ f[i,j−1] &#xff0c;仅当最后一个字符匹配。 class Solution { public:bool isInterleave(string s1, string s2, string s3) {int n s1.size(),m s2.size();…

更够实现输入检验输入框

输入检验输入框 效果展示 概述 本文讲解如何书写&#xff0c;可以根据输入内容的在鼠标失去焦点的时候&#xff0c;进行检验的输入框。 构建HTML框架 <body><div class"register"><input type"password" class"ipt"><p…

「Redis」06 事务与锁机制

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——事务与锁机制 1. Redis的事务定义 Redis 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。注意&…