你知道SEO中的TDK吗?iframe的作用以及优缺点?从浏览器地址栏输入url到显示页面的步骤由哪些?

你知道SEO中的TDK吗?

在SEO中,TDK其实就是titledescriptionkeywords 这三个标签,title 表示标题标签,description 是描述标签,keywords 是关键词标签。

需要注意的SEO

合理的 titledescriptionkeywords
搜索对着三项的权重逐个减小, title 值强调重点即可,重要关键词出现不要超过2次, 而且要靠前,不同⻚面 title 要有所不同;
description 把⻚面内容高度概括,⻓度合适,不可过分堆砌关键词,不同⻚description 有所不同;
keywords 列举出重要关键词即可。

语义化的 HTML 代码,符合 W3C 规范: 语义化代码让搜索引擎容易理解网⻚。

重要内容 HTML 代码放在最前: 搜索引擎抓取 HTML 顺序是从上到下, 有的搜索引擎对抓取⻓度有限制,保证重要内容一定会被抓取。

重要内容不要用 js 输出: 爬虫不会执行js获取内容。

少用 iframe 搜索引擎不会抓取 iframe 中的内容。

非装饰性图片必须加 alt

提高网站速度: 网站速度是搜索引擎排序的一个重要指标。

iframe的作用以及优缺点?

iframe也称作嵌入式框架,嵌入式框架和框架网页类似,它可以把一个网页的框架和内容嵌入到现有的网页中。

优点:

可以用来处理加载缓慢的内容,比如:广告

缺点:

  • iframe 会阻塞主页面的 Onload 事件 无法被一些搜索引擎识别,搜索引擎的检索程序无法解读这种⻚面,不利于 SEO
  • iframe 和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。但是可以通过javascript 动态给 ifame 添加 src属性值来解决这个问题,当然也可以解决iframe会阻塞主页面的Onload事件的问题
  • 会产生很多页面,不易管理 浏览器的后退按钮没有作用

从浏览器地址栏输入url到显示页面的步骤由哪些?

浏览器根据请求的 URL 交给 DNS 域名解析,找到真实 IP , 向服务器发起请求;

服务器交给后台处理完成后返回数据, 浏览器接收文件 ( HTML、JS、CSS 、图象等); 浏览器对加载到的资源 ( HTML、JS、CSS 等) 进行语法解析,建立相应的内部数据结构( 如HTMLDOM );

载入解析到的资源文件 ➔ 渲染页面 ➔ 完成。

1、在浏览器地址栏输入URL
2、浏览器查看缓存, 如果请求资源在缓存中并且新鲜,跳转到转码步骤
  1. 如果资源未缓存,发起新请求。
  2. 如果已缓存,检验是否足够新鲜,足够新鲜直接提供给客户端, 否则与服务器进行验证。
  3. 检验新鲜通常有两个HTTP头进行控制 ExpiresCache-Control :

HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期 HTTP1.1增加了Cache-Control:
max-age=,值为以秒为单位的最大新鲜时间

3、浏览器解析URL获取协议, 主机,端口, path
4、浏览器组装一个HTTP ( GET) 请求报文
5、浏览器获取主机ip地址, 过程如下:
  1. 浏览器缓存
  2. 本机缓存
  3. hosts文件
  4. 路由器缓存
  5. ISP DNS缓存
  6. DNS递归查询 ( 可能存在负载均衡导致每次IP不一样)
6 、 打开一个socket与目标IP地址,端口建立TCP链接,三次握手如下:
  1. 客户端发送一个TCP的SYN=1,Seq=X的包到服务器端口。
  2. 服务器发回SYN=1, ACK=X+1, Seq=Y的响应包。
  3. 客户端发送ACK=Y+1, Seq=Z。
7、TCP链接建立后发送HTTP请求
8、服务器接受请求并解析,将请求转发到服务程序,如虚拟主机使用工TTP工ost头部判断请求的服务程序
9、 服务器检查HTTP请求头是否包含缓存验证信息如果验证缓存新鲜, 返回304等对应状态码
10、处理程序读取完整请求并准备工TTP响应, 可能需要查询数据库等操作
11、服务器将响应报文通过TCP连接发送回浏览器
12、浏览器接收工TTP响应,然后根据情况选择关闭TCP连接或者保留重用,关闭TCP连接的四 次握手如下:
  1. 主动方发送Fin=1, Ack=Z, Seq=X报文 。
  2. 被动方发送ACK=X+1, Seq=Z报文 。
  3. 被动方发送Fin=1, ACK=X, Seq=Y报文 。
  4. 主动方发送ACK=Y, Seq=X报文。
13、浏览器检查响应状态吗:是否为1XX, 3XX, 4XX, 5XX, 这些情况处理与2XX不同
14、 如果资源可缓存, 进行缓存
15、对响应进行解码 (例如gzip压缩)
16、根据资源类型决定如何处理(假设资源为工TML文档)
17、解析HTML文档,构件DOM树,下载资源,构造CSSOM树,执行js脚本, 这些操作没有严 格的先后顺序, 以下分别解释
18、 构建DOM树:
  1. Tokenizing:根据工TML规范将字符流解析为标记。
  2. Lexing:词法分析将标记转换为对象并定义属性和规则。
  3. DOM construction:根据工TML标记关系将对象组成DOM树 。
19、 解析过程中遇到图片 、样式表 、js文件,启动下载
20、 构建CSSOM树:
  1. Tokenizing:字符流转换为标记流。
  2. Node:根据标记创建节点。
  3. CSSOM:节点创建CSSOM树。
21、 根据DOM树和CSSOM树构建渲染树 :
  1. 从DOM树的根节点遍历所有可见节点,不可⻅节点包括:
  • script , meta 这样本身不可⻅的标签。
  • 被css隐藏的节点, 如display:none
  1. 对每一个可⻅节点,找到恰当的CSSOM规则并应用。
  2. 发布可视节点的内容和计算样式。
22、 js解析如下:
  1. 浏览器创建Document对象并解析HTML,将解析到的元素和文本节点添加到文档中,此时document.readystateloading
  2. HTML解析器遇到没有asyncdeferscript时,将他们添加到文档中,然后执行行内 或外部脚本 。这些脚本会同步执行, 并且在脚本下载和执行时解析器会暂停 。这样就可 以用document.write()把文本插入到输入流中 。同步脚本经常简单定义函数和注册事件 处理程序,他们可以遍历和操作script和他们之前的文档内容。
  3. 当解析器遇到设置了async属性的script时, 开始下载脚本并继续解析文档 。脚本会在它 下载完成后尽快执行,但是解析器不会停下来等它下载 。异步脚本禁止使用 document.write(), 它们可以访问自己script和之前的文档元素。
  4. 当文档完成解析,document.readState变成interactive
  5. 所有defer脚本会按照在文档出现的顺序执行,延迟脚本能访问完整文档树, 禁止使用document.write()
  6. 浏览器在Document对象上触发DOMContentLoaded事件。
  7. 此时文档完全解析完成, 浏览器可能还在等待如图片等内容加载, 等这些内容完成载入 并且所有异步脚本完成载入和执行,document.readState变为completewindow触发load事件。
23、 显示页面 ( HTML解析过程中会逐步显示页面)
  1. 从浏览器接收 url 到开启网络请求线程 ( 这一部分可以展开浏览器的机制以及进程与线程 之间的关系)。

  2. 开启网络线程到发出一个完整的 HTTP 请求 ( 这一部分涉及到dns查询, TCP/IP 请求, 五层因特网协议栈等知识)。

  3. 从服务器接收到请求到对应后台接收到请求 (这一部分可能涉及到负载均衡, 安全拦截以 及后台内部的处理等等)。

  4. 后台和前台的 HTTP 交互 ( 这一部分包括 HTTP 头部 、响应码 、报文结构 、 cookie 等知 识, 可以提下静态资源的 cookie 优化, 以及编码解码, 如 gzip 压缩等)。

  5. 单独拎出来的缓存问题, HTTP 的缓存 ( 这部分包括http缓存头部, ETagcatch-control 等)。

  6. 浏览器接收到 HTTP 数据包后的解析流程 ( 解析 html 词法分析然后解析成 dom 树 、解析css生成css规则树、合并成render树,然后layoutpainting渲染、复合图 层的合成 、 GPU 绘制 、外链资源的处理 、 loadedDOMContentLoaded 等)。

  7. CSS 的可视化格式模型 ( 元素的渲染规则, 如包含块,控制框, BFCIFC 等概念) 。

  8. JS 引擎解析过程 ( JS 的解释阶段,预处理阶段,执行阶段生成执行上下文, VO ,作用域链 、回收机制等等)。

  9. 其它 ( 可以拓展不同的知识模块, 如跨域,web 安全, hybrid 模式等等内容)。

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 20:30:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 20:30:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 20:30:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 20:30:07       18 阅读

热门阅读

  1. linux rsync 和scp区别

    2023-12-07 20:30:07       35 阅读
  2. Perplexity 推出全新大型在线语言模型

    2023-12-07 20:30:07       41 阅读
  3. Centos7部署NFS

    2023-12-07 20:30:07       46 阅读
  4. Linux:/dev/mapper/centos-root 100%问题

    2023-12-07 20:30:07       34 阅读
  5. Android 透明度颜色值对照表

    2023-12-07 20:30:07       42 阅读
  6. 9月6日,星期三,每日早报简报微语报早读分享

    2023-12-07 20:30:07       34 阅读
  7. Flink入门之部署(二)

    2023-12-07 20:30:07       48 阅读
  8. DevOps|研发提效-敏捷开发之每日站立会

    2023-12-07 20:30:07       38 阅读
  9. 2023.11.27 滴滴P0级故障或为k8s升级造成

    2023-12-07 20:30:07       44 阅读