php抓取网页域名(转载地址官方的比较简洁的说明:301redirect:301代表永久性转移 )

优采云 发布时间: 2021-10-11 00:05

  php抓取网页域名(转载地址官方的比较简洁的说明:301redirect:301代表永久性转移

)

  转载地址

  官方更简洁的描述:

  301 重定向:301 代表永久移动

  302 重定向:302 代表临时移动

  ps:对了,我也想起了两个相似的英文单词(永久的,暂时的),嘻哈!

   详细来说,301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)——这是它们的共同点。他们的不同在于。301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),**[搜索引擎](http://lib.csdn.net/base/searchengine)在抓取新内容的同时也将旧的网址交换为重定向之后的网址**;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,**搜索引擎会抓取新的内容而保存旧的网址。**

这里开启傻瓜自问自答模式(自己可能想到的疑问):

  1、什么是重定向?

  即地址A跳转到地址B。 百度百科的解释:重定向就是通过各种方式将各种网络请求重定向到其他位置(如:网页重定向,域名重定向,路由变化也与数据包有关。A一种路径重定向)。

  2、但是,为什么需要重定向?我什么时候需要重定向?

  如果你想跳,你可以跳得很漂亮。或者参考百度百科:

  1)网站调整(如改变web目录结构);

  2)网页已移至新地址;

  3)更改网页扩展名(例如,应用程序需要将.php 更改为.Html 或.shtml)。

  在这种情况下,如果不重定向,用户采集夹或搜索引擎数据库中的旧地址只能让来访的客户得到404页面错误信息,访问流量白白流失;另外,有些注册了多个域名网站,也需要自动将访问这些域名的用户重定向到主站。

  3、那么,301或302跳转应该什么时候进行呢?

  当 网站 或网页在 24-48 小时内临时移动到新位置时,将执行 302 跳转。例如,我有一个房子,但我最近搬到了一个亲戚家。我两天后回来。而使用301跳转的场景是之前的网站因为某种原因需要去掉,然后需要访问新的地址,是永久的。例如,您的房子实际上是出租的。现在租约到期了,你在别的地方找了房子,之前租的房子已经不能住了。

  要清楚:

  使用301跳转的场景:

  1)域名过期不想续费(或者找到了更适合网站的域名),想换个域名。

  2) 不带www的域名出现在搜索引擎的搜索结果中,但带www的域名没有收录。这时候就可以用301重定向来告诉搜索引擎我们的目标域名在哪了。

  3)空间服务器不稳定,换空间时。

  使用302跳转的场景:

  --尝试使用301跳转!

  4、为什么尽量使用301重定向?-网址劫持!

  以下是百度百科上的解释摘录:

  当做一个从 URL A 到 URL B 的 302 重定向时,宿主服务器的隐含含义是 URL A 可能随时改变主意,重新显示其内容或重定向到其他地方。大多数搜索引擎,在大多数情况下,在收到302重定向时,一般只需要爬取目标URL,即URL B。 如果搜索引擎在遇到302重定向时,爬取了目标URL B的100%,无需担心 URL 劫持。问题在于,有时搜索引擎,尤其是 Google,无法始终抓取目标 URL。比如有时候A的URL很短,但是却做了302重定向到B的URL,而B的URL又是一个很长很乱的URL,甚至可能收录一些问号等参数。自然,URL A 对用户更友好,而 URL B 丑陋且不友好。此时,谷歌很可能还是会显示URL A。由于搜索引擎排名算法只是一个程序而不是一个人,当遇到302重定向时,无法准确判断哪个URL更适合像人,这就产生了URL的可能劫持。换句话说,一个*敏*感*词*的人在自己的网站A上做了302重定向到你的网站B。出于某种原因,谷歌搜索结果仍然显示网站A,但使用的网页内容是你网站B上的内容,这种情况称为网站网址劫持。你写的这么辛苦的内容被别人盗用了。302重定向导致的URL劫持已经存在一段时间了。但到目前为止,似乎没有更好的解决方案。在正在进行的 Google Big Daddy 数据中心转换中,302重定向问题也是需要解决的目标之一。从部分搜索结果来看,URL劫持的现象有所改善,但并未完全解决。

  我的理解是我做了一个从网站A(网站不好)到网站B(搜索排名很高)的302跳转。这时候搜索引擎有时会使用网站B的内容,但是收录有网站A的地址,所以不知不觉中,网站B正在为网站@做贡献>A, 网站A 的排名很高。

  301跳转到搜索引擎是一种温顺的跳转系统,也是搜索引擎可以遇到的跳转系统。它告诉搜索引擎这个地址被放弃了,它会一直转移到一个新的地址,这个地址可以转移新域名的权重。302重定向很容易被搜索引擎误认为使用多个域名指向同一个网站,那么你的网站就会被屏蔽,罪名是“使用重复内容干扰谷歌搜索结果 网站 排名”。

   自问自答模式先告一段落,这里分享下我在NodeJs中实现跳转的场景:

之前做过一个重构的项目,由于各种原因,我们的网站的登录以及注册部分需要剥离为另一个网站,域名和之前的不同,所以,我们需要保证旧的地址也能重定向到地址中去,我们就在旧的系统的node层中作了一个重定向,代码类似这样:

  

  这里没有设置状态码,发现默认是302跳转,然后我们设置301状态码,类似这样:

  

  使用fiddle抓包(上图302调整没有显示),看看效果:

  

  上面是使用Express,使用nodejs原生代码来实现这样的:

  

   先到这里了,路漫漫其修远兮,下班回家。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线