你知道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

相关文章

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建