1.前端需要注意哪些SEO
- 合理的
title
、description
、keywords
:搜索对着三项的权重逐个减⼩,title
值强调重点即可,重要关键词出现不要超过2次,⽽且要靠前,不同⻚⾯title
要有所不 同;description
把⻚⾯内容⾼度括,⻓度合适,不可过分堆砌关键词,不同⻚⾯description
有所不同;keywords
列举出重要关键词即可 - 语义化的
HTML
代码,符合W3C规范:语义化代码让搜索引擎容易理解⽹⻚ - 重要内容
HTML
代码放在最前:搜索引擎抓取HTML
顺序是从上到下,有的搜索引擎对抓 取⻓度有限制,保证重要内容⼀定会被抓取 - 重要内容不要⽤ js 输出:爬⾍不会执⾏js获取内容
- 少⽤
iframe
:搜索引擎不会抓取 iframe 中的内容 - ⾮装饰性图⽚必须加
alt
- 提⾼⽹站速度:⽹站速度是搜索引擎排序的⼀个重要指标
2. img 的 title 和 alt 有什么区别
- 通常当⿏标滑动到元素上的时候显示
alt
是<img>
的特有属性,是图⽚内容的等价描述,⽤于图⽚⽆法加载时显示、读屏器 阅读图⽚。可提图⽚⾼可访问性,除了纯装饰图⽚外都必须设置有意义的值,搜索引擎会 重点分析。
3.HTTP的⼏种请求⽅法⽤途
GET
⽅法:发送⼀个请求来取得服务器上的某⼀资源POST
⽅法:向URL
指定的资源提交数据或附加新的数据PUT
⽅法:跟POST
⽅法很像,也是想服务器提交数据。但是,它们之间有不同。PUT
指定了资 源在服务器上的位置,⽽POST
没有HEAD
⽅法:只请求⻚⾯的⾸部DELETE
⽅法:删除服务器上的某资源OPTIONS
⽅法:它⽤于获取当前URL
所⽀持的⽅法。如果请求成功,会有⼀个Allow
的头包含类 似 “GET,POST” 这样的信息TRACE
⽅法:TRACE
⽅法被⽤于激发⼀个远程的,应⽤层的请求消息回路CONNECT
⽅法:把请求连接转换到透明的TCP/IP
通道
4.从浏览器地址栏输⼊url到显示⻚⾯的步骤
- 浏览器根据请求的
URL
交给DNS
域名解析,找到真实IP
,向服务器发起请求; - 服务器交给后台处理完成后返回数据,浏览器接收⽂件
( HTML、JS、CSS 、图象等)
; - 浏览器对加载到的资源
( HTML、JS、CSS 等)
进⾏语法解析,建⽴相应的内部数据结构(如 HTML 的 DOM )
; - 载⼊解析到的资源⽂件,渲染⻚⾯,完成。
5.如何进⾏⽹站性能优化
content
⽅⾯- 减少
HTTP
请求:合并⽂件、CSS
精灵、inline Image
- 减少
DNS
查询:DNS
缓存、将资源分布到恰当数量的主机名 - 减少
DOM
元素数量
- 减少
Server
⽅⾯- 使⽤
CDN
- 配置
ETag
- 对组件使⽤
Gzip
压缩
- 使⽤
Cookie
⽅⾯:减⼩cookie
⼤⼩css
⽅⾯- 将样式表放到⻚⾯顶部
- 不使⽤
CSS
表达式 - 使⽤
<link>
不使⽤@import
Javascript
⽅⾯- 将脚本放到⻚⾯底部
- 将
javascript
和css
从外部引⼊ - 压缩
javascript
和css
- 删除不需要的脚本
- 减少
DOM
访问
- 图⽚⽅⾯
- 优化图⽚:根据实际颜⾊需要选择⾊深、压缩
- 优化
css
精灵 - 不要在
HTML
中拉伸图⽚
6.HTTP状态码及其含义
1XX
:信息状态码100 Continue
继续,⼀般在发送post
请求时,已发送了http header
之后服务端 将返回此信息,表示确认,之后发送具体参数信息
2XX
:成功状态码200 OK
正常返回信息201 Created
请求成功并且服务器创建了新的资源202 Accepted
服务器已接受请求,但尚未处理
3XX
:重定向301 Moved Permanently
请求的⽹⻚已永久移动到新位置。302 Found
临时性重定向。303 See Other
临时性重定向,且总是使⽤GET
请求新的URI
。304 Not Modified
⾃从上次请求后,请求的⽹⻚未修改过。
4XX
:客户端错误400 Bad Request
服务器⽆法理解请求的格式,客户端不应当尝试再次使⽤相同的内 容发起请求。401 Unauthorized
请求未授权。403 Forbidden
禁⽌访问。404 Not Found
找不到如何与URI
相匹配的资源。
5XX
: 服务器错误500 Internal Server Error
最常⻅的服务器端错误。503 Service Unavailable
服务器端暂时⽆法处理请求(可能是过载或维护)。
7.语义化的理解
- HTML 语义化就是让⻚⾯的内容结构化,便于对浏览器、搜索引擎解析
- 在没有样式 CSS 情况下也以⼀种⽂档格式显示,并且是容易阅读的。
- 搜索引擎的爬⾍依赖于标记来确定上下⽂和各个关键字的权重,利于 SEO 。
- 使阅读源代码的⼈对⽹站更容易将⽹站分块,便于阅读维护理解
8.介绍⼀下你对浏览器内核的理解?
- 主要分成两部分:渲染引擎(
layout engineer
或Rendering Engine
)和JS
引擎 - 渲染引擎:负责取得⽹⻚的内容(
HTML
、XML
、图像等等)、整理讯息(例如加⼊CSS
等),以及计算⽹⻚的显示⽅式,然后会输出⾄显示器或打印机。浏览器的内核的不 同对于⽹⻚的语法解释会有不同,所以渲染的效果也不相同。所有⽹⻚浏览器、电⼦邮件 客户端以及其它需要编辑、显示⽹络内容的应⽤程序都需要内核 - JS 引擎则:解析和执⾏
javascript
来实现⽹⻚的动态效果 - 最开始渲染引擎和
JS
引擎并没有区分的很明确,后来JS
引擎越来越独⽴,内核就倾向于 只指渲染引擎