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

本文主要是介绍你知道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 模式等等内容)。

这篇关于你知道SEO中的TDK吗?iframe的作用以及优缺点?从浏览器地址栏输入url到显示页面的步骤由哪些?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/445588

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性: