超级外链工具是否能够正确处理301重定向

 2019-02-26 19:32:35  1630 浏览  0 评论   赞

超级外链工具专题文章第8篇,工具中有少数链接会发生301转向,通过本文的实验证明:虽然不同浏览器的状态显示有差异,但都能够正确处理

超级外链工具是否能够正确处理301重定向

图175-1:301重定向

本文和上一篇一样同样属于技术文章,超级外链工具专题只有两篇技术文章,这是第二篇。这两篇文章虽然属于技术文章,但是我觉得你在使用外链工具时还是应该有所掌握,即使看不懂技术细节或技术名词,但是至少了解个大概。

上一篇文章中说到,我的超级外链工具使用的是script的方式提交查询请求,但是网络连接是复杂的,如果是用浏览器直接打开链接,浏览器可以对各种情况作出正确的处理,但是使用script方式引用链接时是否能够正确处理复杂的网络连接?

其中一个最可能遇到的问题就是3xx转向,如:301永久转向、302临时转向。使用浏览器打开链接时无论是什么类型的转向,不管是301头文件转向,还是meta标签转向,又或者js脚本转向,浏览器都可以正确处理。在这些转向中搜索引擎认可的是301转向,因此很多网站转向采用的是301,其它的转向搜索引擎不支持,一般用在特殊的场景。本文就来讨论外链工具是否能够正确处理3xx类的转向。

什么是301转向

转向的意思是你打开A网址时,会自动跳转到B网址。301转向是转向中的一种,通过响应头文件实现,所有3开头的转向都属于这类,只是转向的细节不同。发生301转向时,页面一片空白,不会显示任何内容,转向到新网址后,才会显示新网址的内容。

3xx转向的常见情况是短网址,点开短网址时,页面会跳转到真正的网址,真正的网址一般都是很长的一串。大部分短网址都是使用302,极少数使用301,还有一两个不道德的会使用200。

事件的起因

正因为搜索引擎支持301转向,再加上很多时候确实需要利用转向的方式将链接转移到新的位置,因此301转向是普遍存在的,在外链工具使用的链接中也有不少301转向链接。

使用script引用一个链接时,并不是打开这个页面,而是引用链接对应的页面,如果页面使用了301转向,浏览器是否能够正确的转向到新的链接。如果能够正确转向,那么没有问题,如果不能正确转向,那么链接就失效了,所以这是一个必须要搞清楚的事情。

测试准备

所有状态是3开头的转向都是属于同一类,如:301、302等,本文所说的301转向指的就是以3开头的跳转。

测试对象:http://fasou.fabang.com/s.php?key=4&s=www.baidu.com(网址A),这个链接打开后通过302转向到http://s.fabang.com/cse/search?q=www.baidu.com&s=14349722844967675481&nsid=0(网址B)。

测试目的:使用script引用A网址时,是否能够下载网址B的内容。

测试工具:火狐浏览器和chrome浏览器。

在浏览器中打开

下面将网址A在浏览器中打开,查看数据传输情况。

在浏览器中打开_超级外链工具是否能够正确处理301重定向

图175-2:浏览器中打开时的链接

在浏览器中打开_超级外链工具是否能够正确处理301重定向

图175-3:浏览器中打开时传输的数据

从上图可以看出从浏览器中打开时有两条数据,第一条显示302跳转,第二条显示200正确,传输的数据是4.77kb,解压后是17.55kb。

在浏览器中打开_超级外链工具是否能够正确处理301重定向

图175-4:第一条的下载内容

在浏览器中打开_超级外链工具是否能够正确处理301重定向

图175-5:第二条的下载内容

由于第一条是通过301转向,所有没有下载任何页面内容,显示的响应为空,第二条下载了转向后的数据,所以响应内容为页面的源文件。

引用

下面将网址A用script的方式引用,查看数据传输情况。

经测试:火狐浏览器下的数据传输表现和用浏览器打开链接是相同的。下面来看看chrome浏览器。

引用_超级外链工具是否能够正确处理301重定向

图175-6:chrome中的数据传输

从上图可以看出chrome能够正确处理302转向,但是显示的传输数据是0B,那么chrome浏览器真的没有传输任何数据吗?接下来使用一个网络抓包程序,监控网络传输情况。

引用_超级外链工具是否能够正确处理301重定向

图175-7:网络抓包的连接情况

从上图可以看出,第一条(图中显示在第3行)是转向前的连接,第二条(图中显示在第4行)是转向后的连接,图中显示的远程主机是“zhannei.a.shifen.com”,这是显示问题,这里就不解释了。

第一条传输的数据是571B,这是因为只有传输头文件所以很小,第二条传输的数据是5213B,比浏览器显示的略大,这是因为传输这些数据需要13个数据包,每个数据包都需要经过封装,从而产生了额外的数据。

测试结果

从上面的测试可以得出如下结论:

通过script方式引用链接时,浏览器能够正确处理3xx转向

在火狐浏览器下能够正确显示转向的情况,在chrome下显示的下载数据是0,这只是显示错误而已,事实上chrome也正确的处理了转向。所以不同浏览器对转向的状态显示虽然有差异,但是都能够正确的处理3xx转向。大家在使用外链工具时不必为网址发生3xx转向而担忧。

转载请注明:网创网 www.netcyw.cn/b175.html

()
发表评论
  • 昵称
  • 网址
(0) 个小伙伴发表了自己的观点
    暂无评论

Copyright © 2018-2022 小王子工作室 版权所有 滇ICP备14007766号-3 邮箱:yangzy187@126.com