- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
如果你在管理一些网站,那么对HTTP重定向的理解对于可靠的网站性能至关重要。在这篇文章中,我们将全面了解一下3xx HTTP状态码,从这里你可以了解它们是如何工作的,如何更好地管理它们,以及它们对SEO的影响.
URL重定向涉及到一个网页地址被映射到另一个。网站需要重定向的原因有很多.
比如说,迁移到一个新的域名是使用URL重定向的首要原因之一。有时,你以前的域名太长、太复杂,导致难以记住,或者某种侵权活动迫使你从一个域名转移到另一个域名.
让我们具体看看重定向页面的其他原因:
除此之外,还有一些其他场景值得考虑。如果你需要简化和跟踪显示广告或应对紧急情况,重定向将派上用场。重定向有助于营销人员监测广告反响。同时,网络管理员可以在重定向的帮助下修复任何失败的链接活动.
总之,谷歌对重定向的定义是控制抓取和索引。谷歌搜索中心将HTTP重定向解释为进行无缝过渡的做法,通过几个URL访问一个页面,纠正过时的URL,并将用户从删除的页面重定向到新的页面,从而排除404错误.
互联网上用于传输数据和信息控制的托管服务器的基本协议被称为HTTP。超文本传输协议允许万维网的互联网用户和服务器之间维护网站以及提供通信.
HTTP是用于不同类型数据的信息系统的协议:分布式、超媒体和协作式。HTTP的主要目标是提供基于互联网的无缝交互.
这种请求-响应协议通过TCP连接工作。传输控制协议允许互联网与万维网上代表的任何可用识别资源进行交互。用户与网页、视频和信息服务器的通信是通过HTTP进行的。这样,客户可以获得对网页的访问.
值得注意的是,超文本传输协议使用代理。它们是用于内容识别和分析的特殊用途的过滤器。HTTP代理防止用户低质量地发送和显示文件:
HTTP客户端是用来保护用户的浏览器的。它向服务器发送请求信息。HTTP服务端负责HTTP响应连接。HTTP代理的原理可以用以下方式来表示:
HTTP协议的主要优点是:
HTTP共有九种请求方法来执行不同的网络操作.
请求 | 描述 |
---|---|
PUT | 负责修改现存的网络资源。该请求也允许创建新的URL。 |
HEAD | 创建一个特殊用途资源的请求,不需要任何主体内容。 |
POST | 负责将现有资源修改的内容添加到新的网页上。 |
DELETE | 删除指定资源。 |
GET | 请求完整资源。 |
TRACE | 显示用户访问的网络资源的任何更新和变化。 |
OPTIONS | 展示用户可以访问的HTTP方法列表。 |
CONNECT | 负责将基于请求的连接转换为TCP/IP隧道。 |
PATCH | 使得对网络资源进行部分修改成为可能。 |
HTTP状态码是决定服务器响应的特殊元素。有必要了解每一个HTTP状态码,以明确问题并解决它们.
有五类状态码需要考虑。有信息响应、成功、重定向、客户错误和服务错误五种类别。第一个数字表示HTTP状态码的类别。让我们仔细看看每个响应的类别:
值得注意的是,一些状态码和错误对SEO有直接影响。虽然1xx和2xx对搜索引擎优化影响不大(有200响应是最好的做法),但3xx、4xx和5xx的会对抓取和索引你的网页产生负面影响。你应该始终注意解决4xx和5xx状态码和错误,因为这对你网站的整体排名非常有害.
HTTP 300状态码也许对SEO扮演核心角色。这类状态码负责将所有的SEO价值从你的旧网址传递到新网址。因此,有必要挖掘每个3xx状态码的含义(临时或永久重定向、代理、多重选择,等等).
3xx状态码表示不同类型的HTTP重定向。营销人员通常使用3xx状态码来监测和分析用户体验、网站用户的行为以及网站的SEO性能。 DataTracker 资源确定了由3xx HTTP状态码衍生的四种重定向类型:
3xx状态码出现在有必要表明服务器的重定向响应时。3xx HTTP状态码的另一个例子是为被删除的页面保持其排名。此外,当有必要修复破损的URL时,重定向也会派上用场.
当错误发生时,重定向不期望看到其他响应码。例如,重定向不能解决1xx、4xx、5xx的问题(Not Implemented = 501;Bad Gateway = 502;Unprocessable Entity = 420).
下面就让我们仔细看看每个3xx状态码,了解它们对SEO和网站排名的影响.
这些状态码通常用于REST APIs。给予浏览器多种选择,它应该在满足请求的资源中进行选择。例如,如果你有多个视频格式选项或不同的文件扩展名需要指定,300状态码就会派上用场.
使用300重定向另一个原因是,为了满足内容协商的要求。服务器通知用户代理可用的表示类型供其选择。仔细看一下这个例子,看看300重定向的作用.
HTTP/1.1 300 Multiple Choices
Server: curveball/0.3.1
Access-Control-Allow-Headers: Content-Type,User-Agent
Access-Control-Allow-Origin: *
Link: </foo> rel="alternate"
Link: </bar> rel="alternate"
Content-Type: text/html
Location: /foo
你可以在代码中看到 /foo 和 /bar 。当两个选项都可以选择时,地址就被指定了.
还有一个状态码通常用于REST APIs中。该状态码主要作用是,永久性的重定向。如果你需要在短时间内使用重定向,301重定向就不适合。在301 HTTP状态码的帮助下,互联网用户和搜索引擎都被带到一个新的URL。该类型的最佳重定向方案是当前一个页面不打算恢复的时候.
让我们借助一个真实的案例来解释永久HTTP重定向的概念:
让我们再看个永久性重定向的例子(301重定向)。在这里我们可以看到一个301 HTTP状态码,用于将用户和搜索引擎重定向到新的地址.
程序员经常使用 .htaccess 文件来实现不同类型的重定向,包括301重定向。有两种301重定向的方法需要考虑到:
整个域名可以被重定向到一个新的网站。在 Redirect 301 后添加你感兴趣的域名:
Redirect 301 /[http://www.website.com/](http://www.website.com/)
如果你只想重定向一个页面,有必要在 Redirect 301 后面指定旧的URL:
Redirect 301 /oldurl/ [http://www.website.com/newurl/](http://www.website.com/newurl/)
这里要提到的是,各种编码方法需要不同的重定向实现.
需要注意的是,JavaScript对于SEO实践来说远不是最佳选择。谷歌有时会对JavaScript中的301重定向进行错误的解释。如果你对SEO友好的永久重定向感兴趣,最好选择上面列出的方法之一.
在REST API中还有一个比较常用的状态码。与永久的301重定向相比,302重定向是在需要一些临时重定向时使用。比如说,你知道这个URL的改变,并不久后重定向,或者以前的页面会在某个时间点恢复。还有一种情况是,你要删除旧的页面,但你需要重定向所有的流量,并保存临时URL上的排名分数。使用302状态码的其他原因包括:
值得注意的是,302重定向的实施方法与301的实施方法相同。出于SEO友好的目的,避免使用JavaScript编码的建议在这里也适用.
比如说,在上面的图片中,我们可以看到302状态码是如何用于网站的临时地址。请注意,你也可以将这种类型的重定向用于你的网站/页面重新设计,一些测试,促销活动的运行,以及其他短期活动和安排.
该HTTP状态码允许REST API以引用的形式向客户发送建议。303重定向的一个显著特点是其无缓存性能。但值得一提的是,重定向的第二个会话将被缓存.
303状态码对SEO来说并不重要。但是,当另一个URL可以被推荐而不是一个已经访问过的URL时,它可以帮助提高用户友好度并实现营销目的.
这个状态码和上面列出的其他3xx状态码一样,常用于REST APIs中。当不需要重新传输时,可以使用该状态码。如果页面还没有被修改,也可以使重定向无缓存.
让我们通过一个304重定向的例子来仔细看看。该状态码是在请求方法和请求URL下面指定的.
该HTTP状态码目前已被废弃。一些浏览器不允许使用这种类型的重定向。例如,Mozilla Firefox和Internet Explorer出于安全原因阻止用户使用305重定向。主要是因为用于请求和提供访问网络资源的单一代理。当涉及到一些浏览器时,这种方法是有风险的.
程序员现在不使用这个状态码了。它的主要思想是当一些特殊目的的请求发生时有机会切换代理。如果编码中出现了这种类型的重定向,用户将默认返回到指定的代理.
这个HTTP状态码与302状态码非常相似。这就是为什么重定向所需的实现方法与301和302是一样的。让我们来挖掘一下307和302的区别,因为它们都是关于临时的HTTP重定向。关于307重定向,有两种意见需要考虑:
这意味着302重定向中GET请求方法的任何改变都会导致网络上不可预测的结果。这不会发生在307重定向中。下图是一个使用307临时重定向的例子.
这个状态码被认为是实验性的,但它的语义与301永久重定向相同。308和301重定向的唯一区别是是否可以修改HTTP方法。301重定向允许用户代理修改使用的HTTP方法,而308状态码则意味着重定向的HTTP请求方法是不可改变的.
308 HTTP状态码是相当新的,因为它在2015年才被引入。一些浏览器仍然无法识别308重定向,并向用户显示空的页面,而不是重定向的页面(例如,Internet Explorer 11)。这就是为什么301永久重定向是最好的,因为它有更好的支持和对SEO的友好。308HTTP状态码的支持度少的可怜,搜索爬虫并不总是能识别它.
300重定向对SEO很重要。如果你需要从一个旧页面转移到另一个页面,并且不想浪费它的排名,建议使用临时或永久重定向。你可以使用以下几个HTTP 3xx状态码:
当涉及到临时和永久重定向时,301和302 HTTP状态码总是被优先考虑。但这些HTTP 3xx状态码之间是有区别的。下面是第一种情况。你已经决定永远删除你的旧网站。但是这个URL经常被访问,有一个建议是使用301永久重定向,以保持你的网站排名.
第二种情况是当你重组你的网站并在一些短期内保存你的SERP。该网站将失去SEO价值。搜索引擎会保留你的旧网址,但在重定向后开始索引你的新页面。如果你确定会回到旧的URL,最好使用302重定向(临时).
参数对比 | 301 | 302 |
---|---|---|
重定向类型 | 永久 | 临时 |
什么时候使用 | 用于重定向即将被删除的旧网页。 | 用于重定向将被恢复的旧网页。 |
重定向语法 | 被改变 | 被改变 |
参数对比 | 301 | 308 |
---|---|---|
重定向类型 | 永久 | 永久 |
什么时候使用 | 用于重定向即将被删除的旧网页。 | 用于重定向将被删除的旧网页。 |
特别之处 | 更适合于SEO;被爬虫很好地识别;用于永久重定向;对重定向的页面有充分的链接权重。 | 实验性的;支持有限;用于避免对GET方法的错误改变。 |
重定向语法 | 被改变 | 不被改变 |
301对谷歌来说有更强的规范性。同时,谷歌团队的代表表示,308和301 HTTP状态码提供了相同的重定向和SEO驱动的属性.
参数对比 | 302 | 307 |
---|---|---|
重定向类型 | 临时 | 临时 |
什么时候使用 | 用于重定向将被恢复的旧网页。 | 用于重定向将被恢复的旧网页。 |
特别之处 | 用于临时重定向;被搜索爬虫很好地识别。 | 更适合于SEO;用于避免对GET方法的错误改变;将客户的请求转移到另一个主机上。 |
重定向语法 | 被改变 | 不被改变 |
必不可少的HTTP 300状态码是301、302和307,因为它们用于临时和永久重定向。这些状态码被建议用于确保SEO友好的网站迁移、URL变更、网站重组和更新、域名变更或网站页面的短期重新发布活动.
值得注意的是,重定向的过程有一些要求,以满足谷歌的排名标准。主要有五个提示要记住:
http://
和 http://www
版本之间设置301、302和307重定向。这对你的搜索引擎优化至关重要。 以上就是本文的所有内容,如果对你所有帮助,欢迎点赞、收藏、转发~ 。
最后此篇关于3xxHTTP状态码的终极指南的文章就讲到这里了,如果你想了解更多关于3xxHTTP状态码的终极指南的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在通读 Windows Phone 7.5 Unleashed,有很多代码看起来像这样(在页面的代码隐藏中): bool loaded; protected override void OnNav
在cgi服务器中,我这样返回 print ('Status: 201 Created') print ('Content-Type: text/html') print ('Location: htt
我正在查看 esh(easy shell)的实现,无法理解在这种情况下什么是 22 和 9 信号。理想情况下,有一个更具描述性的常量,但我找不到列表。 最佳答案 信号列表及其编号(包括您看到的这两个)
我的Oozie Hive Action 永远处于运行模式。 oozie.log文件中没有显示错误。
我正在编写一个使用 RFCOMM 通过蓝牙连接到设备的 Android 应用程序。我使用 BluetoothChat 示例作为建立连接的基础,大部分时间一切正常。 但是,有时由于出现套接字已打开的消息
我有一个云调度程序作业,它应该每小时访问我的 API 以更新一些价格。这些作业大约需要 80 秒才能运行。 这是它的作用: POST https://www.example.com/api/jobs/
我正在 Tomcat 上访问一个简单的 JSP 页面: 但是当我使用 curl 测试此页面时,我得到了 200 响应代码而不是预期的 202: $ curl -i "http://localhos
有时 JAR-RS 客户端会发送错误的语法请求正文。服务器应响应 HTTP status 400 (Bad Request) , 但它以 HTTP status 500 (Internal Serve
我正在尝试通过 response.send() 发送一个整数,但我不断收到此错误 express deprecated res.send(status): Use res.sendStatus(sta
我已经用 Excel 和 Java 做过很多次了……这次我需要用 Stata 来做,因为保存变量更方便'labels .如何将 dataset_1 重组为下面的 dataset_2? 我需要转换以下
我正在创建一个应用程序,其中的对象具有状态查找功能。为了提供一些上下文,让我们使用以下示例。 帮助台应用程序,其中创建作业并通过以下工作流程移动: 新 - 工作已创建但未分配 进行中 - 分配给工作人
我想在 Keras 中运行 LSTM 并获得输出和状态。在 TF 中有这样的事情 with tf.variable_scope("RNN"): for time_step in range
有谁知道 Scala-GWT 的当前状态 项目? 那里的主要作者 Grzegorz Kossakowski 似乎退出了这个项目,在 Spring 中从事 scalac 的工作。 但是,在 interv
我正在尝试编写一个 super 简单的 applescript 来启动 OneDrive App , 或确保打开,当机器的电源设置为插入时,将退出,或确保关闭,当电源设置为电池时。 我无法找到如何访问
目前我正在做这样的事情 link.on('click', function () { if (link.attr('href') !== $route.current.originalPath
是否可以仅通过查看用户代理来检测浏览器上是否启用/禁用 Javascript。 如果是,我应该寻找什么。如果否,检测用户浏览器是否启用/禁用 JavaScript 的最佳方法是什么 最佳答案 不,没有
Spring 和 OSGi 目前的开发状况如何? 最近好像有点安静了。 文档的最新版本 ( http://docs.spring.io/osgi/ ) 来自 2009 年。 我看到一些声明 Sprin
我正在从主函数为此类创建一个线程,但即使使用 Thread.currentThread().interrupt() 中断它,输出仍然包含“Still Here”行。 public class Writ
为了满足并发要求,我想知道如何在 Godog 中的多个步骤之间传递参数或状态。 func FeatureContext(s *godog.Suite) { // This step is ca
我有一个UIButton子类,它不使用UIImage背景,仅使用背景色。我注意到的一件事是,当您设置按钮的背景图像时,有一个默认的突出显示状态,当按下按钮时,该按钮会稍微变暗。 这是我当前的代码。
我是一名优秀的程序员,十分优秀!