什么是浏览器的用户代理?

您的浏览器将其用户代理发送到您连接到的每个网站。我们以前写过关于更改浏览器的用户代理的文章,但是到底什么是用户代理呢?...

您的浏览器将其用户代理发送到您连接到的每个网站。我们以前写过关于更改浏览器的用户代理的文章,但是到底什么是用户代理呢?

用户代理是一个“字符串”,即一行文本,用于向web服务器标识浏览器和操作系统。这听起来很简单,但随着时间的推移,用户代理已经变得一团糟。

基础知识

当您的浏览器连接到一个网站时,它的HTTP头中包含一个用户代理字段。“用户代理”字段的内容因浏览器而异。每个浏览器都有自己独特的用户代理。本质上,用户代理是浏览器向web服务器说“嗨,我是Windows上的Mozilla Firefox”或“嗨,我是iPhone上的Safari”的一种方式。

web服务器可以使用这些信息为不同的web浏览器和不同的操作系统提供不同的web页面。例如,网站可以将移动页面发送到移动浏览器,将现代页面发送到现代浏览器,并将“请升级浏览器”消息发送到Internet Explorer 6。

检查用户代理

例如,以下是Firefox在Windows 7上的用户代理:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0

这个用户代理告诉web服务器很多信息:操作系统是windows7(代号windowsnt6.1),是64位版本的Windows(WOW64),浏览器本身是firefox12。

现在让我们看看Internet Explorer 9的用户代理,它是:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

用户代理字符串使用Trident 5渲染引擎将浏览器标识为IE 9。然而,你可能会发现一些令人困惑的东西——IE自称是Mozilla。

我们一会儿再谈。首先,我们也来看看谷歌Chrome的用户代理:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5

情节越来越复杂:Chrome假装既是Mozilla又是Safari。要了解原因,我们必须检查用户代理和浏览器的历史。

用户代理字符串

马赛克是最早的浏览器之一。它的用户代理字符串是NCSA\u/2.0。后来,Mozilla出现了(后来改名为Netscape),它的用户代理是Mozilla/1.0。Mozilla是一款比Mosaic更先进的浏览器,特别是它支持框架。Web服务器检查用户代理是否包含Mozilla一词,并将包含框架的页面发送到Mozilla浏览器。对于其他浏览器,web服务器发送的是没有框架的旧页面。

最终,微软的InternetExplorer出现了,它也支持框架。然而,IE并没有收到带有框架的网页,因为web服务器只是将这些框架发送到Mozilla浏览器。为了解决这个问题,微软在他们的用户代理中添加了Mozilla这个词,并添加了额外的信息(compatible这个词和IE的引用)。Web服务器很高兴看到Mozilla这个词,并将IE发送到了现代的网页上。后来出现的其他浏览器也做了同样的事情。

什么是浏览器的用户代理?

最终,一些服务器寻找Gecko这个词——火狐的渲染引擎——并为Gecko浏览器提供与旧浏览器不同的页面。KHTML最初是在Linux的KDE桌面上为Konquerer开发的,它添加了“like Gecko”这个词,这样就可以得到为Gecko设计的现代页面。WebKit是基于KHTML的——在开发时,他们添加了WebKit这个词,并保留了最初的“KHTML,like Gecko”行,以实现兼容性。通过这种方式,浏览器开发人员不断地向他们的用户代理添加单词。

Web服务器并不真正关心确切的用户代理字符串是什么—他们只是检查它是否包含特定的单词。

使用

Web服务器将用户代理用于各种目的,包括:

  • 为不同的浏览器提供不同的网页。这可以用来做好事——例如,为较旧的浏览器提供更简单的网页——也可以用来做坏事——例如,显示“必须在Internet Explorer中查看此网页”的消息。
  • 向不同的操作系统显示不同的内容—例如,通过在移动设备上显示精简的页面。
  • 收集显示用户使用的浏览器和操作系统的统计数据。如果你看到过浏览器市场份额的统计数据,这就是他们被收购的方式。

网络爬虫机器人也使用用户代理。例如,谷歌的网络爬虫将自己识别为:

Googlebot/2.1 (+http://www.google.com/bot.html)

网络服务器可以对机器人进行特殊处理——例如,允许它们通过强制注册屏幕。(是的,这意味着您有时可以通过将用户代理设置为Googlebot来绕过注册屏幕。)

Web服务器还可以使用机器人.txt文件。例如,一个web服务器可以告诉一个特定的机器人离开,或者告诉另一个机器人只索引网站的某些区域。在机器人.txt文件中,bot由其用户代理字符串标识。

什么是浏览器的用户代理?


所有主要浏览器都包含设置自定义用户代理的方法,因此您可以看到web服务器发送到不同浏览器的内容。例如,将桌面浏览器设置为移动浏览器的用户代理字符串,您将在桌面上看到网页的移动版本。

  • 发表于 2021-04-09 02:09
  • 阅读 ( 2218 )
  • 分类:互联网

你可能感兴趣的文章

使用userstack的用户代理api完美地定制您的网站

...个来自伦敦apilayer的API,它可以准确地检测网站访问者的浏览器和硬件细节。下面是你需要知道的关于userstack以及它如何让你的网站更好。 ...

  • 发布于 2021-03-22 03:14
  • 阅读 ( 192 )

如何在没有媒体创建工具的情况下下载Windows10ISO

...件。要在Windows上直接下载这些ISO文件,您需要让您的web浏览器假装正在使用另一个操作系统。这需要欺骗浏览器的用户代理。 浏览器的用户代理是一个简短的文本字符串,它告诉网站您正在使用哪个操作系统和浏览器。如果网...

  • 发布于 2021-04-03 09:25
  • 阅读 ( 147 )

如何欺骗你的chromebook用户代理网站不支持chrome操作系统

不是所有的浏览器都能处理相同的网站,如果它们不支持您的操作系统或浏览器,您可能会被拒绝访问。幸运的是,你可以欺骗Chrome操作系统上的用户代理,让它看起来像你使用了一个完全不同的系统。 网站通过他们的用户代...

  • 发布于 2021-04-03 10:26
  • 阅读 ( 120 )

如何在mac上查看需要internet explorer(或pc)的网站

一些老网站有严格的浏览器要求,有时甚至强迫你在Windows上运行,尽管在其他浏览器上运行得非常好。大多数时候需要的浏览器是Internet Explorer,它不在Mac上运行,甚至不再是Windows上的默认浏览器。 如何绕过浏览器限制 网站...

  • 发布于 2021-04-04 09:02
  • 阅读 ( 147 )

如何在OSX上更改safari的用户代理

当你访问一个需要特定浏览器的网站时,你可能会时不时地感到恼火。幸运的是,你可以愚弄一个网站,让它以为你使用的是另一个浏览器,你可以在大多数情况下做到这一点,包括Safari。 用户代理“欺骗”并不是什么新鲜事...

  • 发布于 2021-04-10 22:50
  • 阅读 ( 297 )

如何使用桌面浏览器访问移动网站

...移动网站,还是只是想看看它们的样子,您都可以在桌面浏览器中访问它们。 您可以通过更改浏览器的用户代理来实现这一点—我们之前已经解释了什么是浏览器用户代理。用iPad用户代理访问一个网站也可能迫使它为你提供HTML...

  • 发布于 2021-04-12 01:36
  • 阅读 ( 91 )

如何在firefox中更改用户代理字符串

...于Firefox、Flock、SeaMonkey和Songbird。 之前 在将扩展添加到浏览器之前,我们在UserAgentString.com火狐的身份证明结果是肯定的。 之后 将扩展添加到Firefox之后,您可以通过两种方式访问备用用户代理字符串。首先是通过工具菜单… ...

  • 发布于 2021-04-13 14:18
  • 阅读 ( 227 )

更改internet explorer 8中的用户代理字符串

...看看UAPick用户代理切换器。 用户代理字符串将标识您的浏览器和系统详细信息,以标识您要访问的站点。它将标识您的浏览器、版本号和系统的详细信息。这允许web服务器使用信息提供特定于浏览器的内容。如果您想更改发送...

  • 发布于 2021-04-13 14:36
  • 阅读 ( 115 )

为什么这个网站不能正确加载(如何修复它)?

...的很烦人。发生了什么事,我该怎么解决?真的,坏了的浏览器亲爱的Broken,一个网站可能由于很多原因不能正常工作,有时这些原因并不明显。幸运的是,你可以自己找出并解决这些问题。在你认输之前,这里有几件事你应该...

  • 发布于 2021-05-26 12:51
  • 阅读 ( 131 )

虚拟专用网(vpn)和代理(proxy)的区别

...代理服务器仅充当单个应用程序(如Torrent应用程序、web浏览器)的中介。 视频 下面是一段YouTube视频,展示了vpn和代理服务器之间的区别。

  • 发布于 2021-07-03 03:41
  • 阅读 ( 288 )
Mr呗1
Mr呗1

0 篇文章

相关推荐