HTML
如何理解 HTML 语义化?
用过哪些 HTML 5 标签?
meta都有哪些?作用是什么?
参考答案
meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
- name属性 name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于 搜索引擎 机器人查找信息和分类信息用的。
meta标签的name属性语法格式是:<meta name="参数" content="具体的参数值"> 。
其中name属性主要有以下几种参数:
-
Keywords(关键字)说明:keywords用来告诉搜索引擎你网页的关键字是什么。举例:<meta name ="keywords" content="science,education,culture,politics,ecnomics,relationships, entertaiment, human"> -
description(网站内容描述)说明:description用来告诉搜索引擎你的网站主要内容。举例:<meta name="description" content="This page is about the meaning of science, education,culture."> -
robots(机器人向导) 说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。 content的参数有all,none,index,noindex,follow,nofollow。默认是all。
举例:<meta name="robots" content="none"> -
author(作者) 说明:标注网页的作者
举例:<meta name="author" content="root,root@21cn.com">
-
http-equiv属性
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
meta标签的http-equiv属性语法格式是:
<meta http-equiv="参数" content="参数变量值">;其中http-equiv属性主要有以下几种参数:
-
A、
Expires(期限)说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。 用法:<meta http-equiv="expires" content="Fri, 12 Jan 2001 18:18:18 GMT"> 注意:必须使用GMT的时间格式。 -
B、
Pragma(cache模式)说明:禁止浏览器从本地计算机的缓存中访问页面内容。 用法:<meta http-equiv="Pragma" content="no-cache"> 注意:这样设定,访问者将无法脱机浏览。 -
C、
Refresh(刷新)说明:自动刷新并指向新页面。 用法:<meta http-equiv="Refresh" content="2;URL=www.root.net"> 注意:其中的2是指停留2秒钟后自动刷新到URL网址。 -
D、
Set-Cookie(cookie设定)说明:如果网页过期,那么存盘的cookie将被删除。 用法:<meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday, 12-Jan-2001 18:18:18 GMT; path=/"> 注意:必须使用GMT的时间格式。 -
E、
Window-target(显示窗口的设定)说明:强制页面在当前窗口以独立页面显示。 用法:<meta http-equiv="Window-target" content="_top"> 注意:用来防止别人在框架里调用自己的页面。 -
F、
content-Type(显示字符集的设定)说明:设定页面使用的字符集。 用法:<meta http-equiv="content-Type" content="text/html; charset=gb2312">
-
prfetch、preload
async 、defer区别和使用
css 为什么放到前面?
js为什么尽量放到后面?,如果要放到前面,怎么办?
重绘和回流(重排)
浏览器渲染机制
单页应用,爬虫抓取,seo 怎么优化,vue-ssr,服务端渲染,^_^ 请开始你得表演!!!!
BOM 之 location.hash & History
HTTP
输入url发生了什么?
http 状态码
developer.mozilla.org/zh-CN/docs/…
http、https区别
参考网址:www.cnblogs.com/zhangyfr/p/…
-
HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。
-
HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。
-
HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
-
HTTPS可以有效的防止运营商劫持,解决了防劫持的一个大问题。
http1.0、http2.0区别
https,证书是如何校验的
说说你了解的HTTP/2
影响一个 HTTP 网络请求的因素主要有两个:带宽和延迟。
带宽:如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响请求的问题,但是现在网络基础建设已经使得带宽得到极大的提升,我们不再会担心由带宽而影响网速,那么就只剩下延迟了。
延迟:
1.浏览器阻塞(HOL blocking):浏览器会因为一些原因阻塞请求。浏览器对于同一个域名,同时只能有 4 个连接(这个根据浏览器内核不同可能会有所差异),超过浏览器最大连接数限制,后续请求就会被阻塞。
2.DNS 查询(DNS Lookup):浏览器需要知道目标服务器的 IP 才能建立连接。将域名解析为 IP 的这个系统就是 DNS。这个通常可以利用DNS缓存结果来达到减少这个时间的目的。
3.建立连接(Initial connection):HTTP 是基于 TCP 协议的,浏览器最快也要在第三次握手时才能捎带 HTTP 请求报文,达到真正的建立连接,但是这些连接无法复用会导致每次请求都经历三次握手和慢启动。三次握手在高延迟的场景下影响较明显,慢启动则对文件类大请求影响较大。
http请求头有哪些、响应头有哪些?
七层网络协议(变态,记不住,看你吧)
讲tcp/ip网络层、三次握手,为什么不能两次握手
什么是sql洪泛攻击?
了解就行,发生在三次握手的时候
websocket握手过程
HTTPS 是什么?具体流程
WebSocket与Ajax的区别
TCP 如何保证有效传输及拥塞控制原理。
TCP 协议怎么保证可靠的,UDP 为什么不可靠?
tcp/ip网络层,http的特点
http强行使用udp能实现吗?
TCP和UDP总结(区别、优缺点、应用实例)
HTTP 缓存有哪几种?
http缓存,史上最详细讲解!!!
高频面试题,这个也可以放到性能优化里讲,一定要会
web缓存
高频考点,区别,用法
cookie、session、localStorage、sessionStorage
web缓存(Cookie V.S. Session V.S. LocalStorage V.S. SessionStorage)
如何实现一个可设置过期时间的localStorage
查看本地localstorage都有哪些
GET 和 POST 的区别
浏览器indexedDB
浏览器渲染过程,回流重绘等等,load、DOMContentLoaded等等事件的触发顺序
安全
什么是跨域?有哪些方式可以实现跨域?
jsonp
access-control-allow-origin
websocket
socket
iframe
window.name
还有好几个,看汇总的面试题吧,里面应该有 script、图片本身自带跨域功能
常见的跨域解决方案(全)
前端跨域常用方法小结
手写实现jsonp
什么是xss? 攻击方式有哪些?预防方式有哪些?
参考答案
XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web应用程序中的计算机安全漏洞.
XSS攻击涉及到三方:攻击者,用户,web server。
XSS攻击就是攻击者通过各种办法,在用户访问的网页中插入自己的脚本,让其在用户访问网页时在其浏览器中进行执行。
攻击者通过插入的脚本的执行,来获得用户的信息,比如cookie,发送到攻击者自己的网站(跨站了)。所以称为跨站脚本攻击。
XSS可以分为反射型XSS和持久性XSS,还有DOM Based XSS。(一句话,XSS就是在用户的浏览器中执行攻击者自己定制的脚本。)
预防:
其恶意脚本都是来自用户的输入。因此,可以使用过滤用户输入的方法对恶意脚本进行过滤。
1、获取用户的输入,不用innerHtml,用innerText.
2、对用户的输入进行过滤,如对& < > " ' /等进行转义;
防范:
1、HttpOnly,禁止页面的JS访问带有HttpOnly属性的Cookie。
2、输入检查,启用“白名单原则”,可用于标签、属性或事件,只让正常的“a、div”等标签通过。
3、输出检查,如果输出到事件或脚本中,则再做一次JavaScriptEncode;如果输出到HTML内容或属性中,就再做一次HtmlEncode。
4、内容安全策略(CSP,Content Security Policy)用于指定哪些内容可执行。将用户输入的部分标为不可执行,就不会产生实际的危害。
什么是csrf? 攻击方式有哪些?预防方式有哪些?
cookie是不能跨域访问的,为什么会有csrf攻击?
参考答案
浏览器会依据加载的域名附带上对应域名cookie。就是如果用户在a网站登录且生成了授权的cookies,然后访问b网站,b站故意构造请求a站的请求,如删除操作之类的,用script,img或者iframe之类的加载a站的地址,浏览器会附带上a站此登录用户的授权cookie信息,这样就构成crsf,会删除掉当前用户的数据。