前端面试题——HTML基础篇

如何进行网站的性能优化

content方面

  • 减少http请求 合并文件 css精灵图
  • 减少 DNS 查询 DNS缓存 将资源分布到恰当数量的主机名
  • 减少 DOM 元素的数量

Server方面

  • 使用CDN
  • 配置Etag
  • 对组件使用 Gzip 压缩

Cookie方面

  • 减小cookie大小

css方面

  • 将样式表放到页面顶部
  • 不使用css表达式
  • 使用不使用@import

javascript方面

  • 将脚本放到页面底部
  • 将js和css从外部引入
  • 压缩 js 和css
  • 删除不需要的脚本
  • 较少DOM的访问

图片方面

  • 优化css精灵图
  • 不要在html中拉伸图片

HTTP状态吗

状态码含义
100继续,一般在发送 post请求时,已经发送了http header之后服务器将返回此信息,表示确认,之后发送具体的参数信息
200正常返回信息
201请求成功,并且服务器创建了新资源
202服务器已接收请求但是尚未处理
301请求的网页已经永久移动到新的位置
302临时性重定向
303临时性重定向,而且总是使用get请求新的url
304自从上次请求后,请求的网页未修改过
400服务器无法理解请求的格式,客户端不应该尝试再次使用相同的内容发起请求
401请求尚未授权
403禁止访问
404请求的网页不存在
500服务器错误
503服务器暂时无法处理请求

HTML5增加新特性

  • video和audio元素 用于媒介回访
  • canvas用于绘画
  • localStorage 长期储存数据 浏览器关闭后数据不会丢失
  • sessionStorage 在浏览器关闭后会自动删除
  • 添加了一些更加语义化的标签 header nav footer等

cookie、localStorage、sessionStorage之间的区别

  • cookie的作用是为了表示用户身份而储存在用户本地终端上的数据
  • cookie中的数据始终会在同源的http请求中携带 在浏览器和服务器之间来回传递
  • sessionStroage和localStorage不会将数据发给服务器 只是在本次存储
  • cookie的数据不能超过4K
  • 另外两个虽然也有限制但是远超过cookie的大小限制 可以达到5M甚至更大
  • localStorage的数据会一直保存 浏览器关闭后也不会删除 除非主动删除
  • sessionStroage数据在当前浏览器关闭后主动删除
  • cookie 过期时间决定数据的删除与否

W3c的标准是什么

  • 标签的闭合
  • 标签的小写
  • 不乱嵌套
  • 使用外连css和js

HTML的全局属性有哪些

  • class:全局设置类标识
  • id:元素id,文档内的唯一
  • data-*:为元素添加自定义属性
  • lang:元素内容的语言
  • style:行内的css样式
  • title:元素相关的建议信息

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

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

相关文章

【IT界的厨子】酱香鲈鱼

食材: 前世曾经回眸的鲈鱼一条(主要选刺少的鱼,适合孩子吃,大人吃随意,草鱼比较大) 五花肉少许(肥一些的) 豆腐 辅料: 葱姜 蒜(选) 大料 香菜 调味: 啤酒(两罐) 黄豆酱或豆瓣酱(选) 老抽 生抽 料酒 盐 步骤: 1、鱼肉划开,方便炖的…

第二章:09流程控制[3for]

①格式for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } ②注意事项A:判断条件语句无论简单还是复杂结果是boolean类型。 B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。 C:一般来说:有左大括…

LeetCode,第377场周赛,个人题解

目录 100148.最小数字游戏 题目描述 思路分析 代码详解 100169.移除栅栏得到的正方形田地的最大面积 题目描述 思路分析 代码详解 100156.转换字符串的最小成本I 题目描述 思路分析 代码详解 100158.转换字符串的最小成本II 题目描述 思路分析 代码详解 100148.…

for each....in、for in、for of

一、一般的遍历数组的方法: var array [1,2,3,4,5,6,7]; for (var i 0; i < array.length; i) { console.log(i,array[i]); } 二、用for in的方遍历数组 for(let index in array) { console.log(index,array[index]); }; 三、forEach array.forEach(v>{ cons…

Vue cli3.0创建Vue项目

创建Vue项目 在要创建项目的文件夹下面打开Powershell窗口 输入命令 vue create 项目名称 选择第二项 回车后 选择是否使用历史路由 no 回车 选择 Less 回车 选择第三个 回车 选择第一个 回车 选择第一个 回车 是否保存模板 选择no 完成啦 完成

文件内容的输出io

package bbb; import java.io.*; public class ccc {public static void main(String[]args) throws IOException{ File filenew File("d:/1data.txt"); FileOutputStream outnew FileOutputStream(file); byte buy[]"12345abcdef#%&*软件工程".getByt…

看完后完全了解 Vue 2.0 和 Vue 3.0 的区别

1.数据的双向绑定 Vue2.0使用Object.defineProperty 原理&#xff1a;通过使用 Object.defineProperty 来劫持对象属性的 geter 和 seter 操作&#xff0c;当数据发生改变发出通知 代码&#xff1a; 1 <!DOCTYPE html>2 <html lang"en">3 <head>4…

channels2.X 学习笔记

- No module named asgiref.sync 报错解决&#xff1a; # 报错原因&#xff1a; """ django版本过低&#xff0c; 卸载最新版本的 channels 使用2.x 版本的 """ pip3 uninstall channels - 安装&#xff1a; """ Django 1.11.15 …

风格迁移学习笔记

风格迁移大作业 学习规划 跑通一份代码&#xff01;&#xff01;&#xff01;&#xff08;done&#xff09;对照代码、Blog和论文理解相应的算法过程规划下一步&#xff0c;修改代码&#xff08;done&#xff09;&#xff0c;实现预计功能&#xff08;done&#xff09;调参&…

Netty源码分析第5章(ByteBuf)----第5节: directArena分配缓冲区概述

Netty源码分析第5章(ByteBuf)---->第5节: directArena分配缓冲区概述 Netty源码分析第五章: ByteBuf 第五节: directArena分配缓冲区概述 上一小节简单分析了PooledByteBufAllocator中, 线程局部缓存和arean的相关逻辑, 这一小节简单分析下directArena分配缓冲区的相关过程 …

uni-app(从零开始)

uni-app&#xff08;从零开始&#xff09; uni-app 是什么&#xff1f; uniapp 就是使用Vue.js技术开发所有前端框架的跨端框架uniapp 就是可以将一套代码 发布到多个平台 uniapp 和 Vue 的关系&#xff1f; uniapp是基于vue进行开发&#xff0c;继承了Vue的特性和语法在开…

Remote desktop manager共享账号

因为多个远程机器&#xff0c;是会用了域账号进行登录的。而域账号的密码&#xff0c;三个月之后&#xff0c;密码强制过期 添加一个新的entry&#xff0c;类型是Credential Entry&#xff0c;然后选择用户名/密码 在remote desktop编辑的页面&#xff0c;Credentials选择Crede…

bzoj4403:序列统计

我好傻啊 题目 先来看看长度只能为\(n\)的情况 那么答案非常显然是\(\binom{mn-1}{n}\) 其中\(mR-L1\) 因为我们要构造一个非降序列&#xff0c;显然可能一个数会被选择多次&#xff0c;组合非常不好做&#xff0c;于是我们可以把每一个数的下标加上其对应的下标那么现在的值域…

Mui常用的方法

中对话框 语法&#xff1a;mui.confirm 用法 mui.confirm("确认要切换角色&#xff1f;", "提示", btnArray, function(e) {if(e.index 1) {} else {}});组件名作用alert警告框confirm确认框prompt输入对话框toast消息提示框&#xff08;自动消失&#x…

sudo: pip:找不到命令

https://blog.csdn.net/fcku_88/article/details/84191288转载于:https://www.cnblogs.com/xxswkl/p/11012709.html

java ListMapString,Object遍历的方法

java List<Map<String,Object>遍历的方法 public class Test {public static void main(String[] args) {List<Map<String, Object>> listMaps new ArrayList<Map<String, Object>>();Map<String, Object> map1 new HashMap<Strin…

vue如何更换网页标签的logo

Vue2 版本更换图标 在我们项目的根目录下面去添加或者替换 favicon.icon文件 找到我们的 build 文件夹下面的这两个文件 进行如下配置 favicon: resolveApp(’./favicon.ico’) 刷新后发现并没有什么效果 莫慌 最后一步 重启项目 改变端口 如果重启后还没有起到作用的话就…

Java并发编程的艺术(十)——Java中的锁(5)

1. LockSupport工具 1.1 LockSupport的作用 当需要阻塞或唤醒一个线程的时候&#xff0c;都会使用LockSupport工具类来完成相应工作。LockSupport定义了一组公共的静态方法&#xff0c;这些方法提供了做基本的线程阻塞和唤醒功能。 1.2 LockSupport提供的阻塞和唤醒方法 方法描…

运动-模拟返回顶部

第一步&#xff1a;获取底部的那个按钮对象&#xff0c;默认的情况下那个按钮对象是不可见的。可见的条件的是滚轮距离顶部有距离。 var oBtndocument.getElementById(btn1); 第二步&#xff1a;添加滚轮事件。 (1). 获取滚轮距离顶部的距离。如果距离大于0&#xff0c;就将按钮…

《JavaScript高级程序设计》笔记总结

在北京上班的我每天在上下班路上的时间总共是两个半小时&#xff0c;为了充实这两个多小时的时间&#xff0c;我便花了银子换得了下面这个宝贝 本书内容&#xff08;引用书中前言&#xff09; 本书提供了JavaScript开发人员必须掌握的内容&#xff0c;全面涵盖了JavaScript的…