用户代理

✍ dations ◷ 2025-01-23 09:30:00 #用户代理
用户代理(英语:User Agent)在计算机科学中指的是代表用户行为的软件代理程序(英语:Software agent)所提供的对自己的一个标识符。例如,一个电子邮件阅读器就是一个电子邮件客户端,而在会话发起协议(SIP)中,用户代理指代的是一个通信会话的所有两个终端。在很多场合,用户代理作为一个主从式架构的分布式计算系统中的通信所用网络传输协议的客户端而行为。特别是在超文本传输协议中指定要求发起请求的客户端软件要使用一个“User-Agent”请求表头,即使在客户端不由用户操纵的时候。SIP协议(基于HTTP)沿用了这一用法。当一个软件在一个网络协议进行操作时,它通常向它的operating peer提交一个特定的字符串来标示自己,该字符串通常包含了其应用程序类型、操作系统、软件供应商……等等,有时还会包含软件修订版本等信息。在HTTP、SIP以及SMTP/NNTP协议中,这个识别是通过user-agent的头字段传送的。网络机器人,例如网络抓取工具,通常也会在用户代理的字符串中包含bot的操纵者的联系信息,例如一个URL或一个电子邮件地址,以便网站管理员可以用来联系操纵者。在HTTP中,User-Agent字符串通常被用于内容协商,而原始服务器为该响应选择适当的内容或操作参数。例如,User-Agent字符串可能被网络服务器用以基于特定版本的客户端软件的已知功能选择适当的变体。通过使用robots.txt文件的可以设置网络抓取工具对网站的部分访问与否,而其设置标准之一就是用户代理字符串。换句话说,借由robots.txt文件的设置,可以让网站不能被特定的浏览器访问。与许多其它HTTP请求标头一样,在User-Agent字符串内的信息构成了客户端发送给服务器的信息的一部分,由于该字符串可以因用户不同而有很大程度的差异。根据Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content.第5.5.3章和Hypertext Transfer Protocol -- HTTP/1.1第14.43章,用户代理的格式如下:例如你的产品叫做WikiBrowser,你的用户代理字符串就可能是WikiBrowser/1.0 Gecko/1.0。“最重要的”产品组件被最先列出。这个字符串的部分如下所示:但不幸的是,在浏览器大战期间,很多网络服务器的配置只给被识别为某些版本的Mozilla的客户端发送需要高级功能的网页。因此,为获取更好的网页,绝大多数网页浏览器使用的User-Agent值如下:例如,iPad上的Safari使用的就是下述: .mw-parser-output .templatequote{margin-top:0;overflow:hidden}.mw-parser-output .templatequote .templatequotecite{line-height:1em;text-align:left;padding-left:2em;margin-top:0}.mw-parser-output .templatequote .templatequotecite cite{font-size:small}Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405这个字符串的组成如下:各种网页浏览器的流行程度在整个Web的历史上一直在变化,而且有些网站不是根据万维网联盟(W3C)或者互联网工程任务组(IETF)所制定的统一标准的方式设计,而是设计只能在特定浏览器下显示。 网站通常探测浏览器版本的代码,根据用户代理调整其页面设计。换句话说,在流行程度不高的浏览器上,即使它们可能有能力处理它,不会收到较复杂的内容,更甚者,在极端情况下,拒绝全部内容。因此,有很多浏览器有伪装或欺骗其标识字符串的功能,让服务器发送不同的内容。例如,Android上的浏览器识别自己为Safari以增加兼容性。其它HTTP客户端程序,如下载管理器和离线网页浏览器,通常有能力更改用户代理字符串。垃圾邮件机器人(英语:Spambot)和网络爬虫经常使用假的用户代理。在网页设计师中流行“任何浏览器可见”,鼓励开发者设计网页时,能让网页在任何浏览器都能有一样好的浏览结果。用户代理欺骗的结果之一是可能令收集到的网页浏览器的使用分布不准确。需要注意,用户代理欺骗可能违反某些法律法规、损害他人利益。用户代理嗅探(User Agent sniffing)指的是网站在特定用户代理下查看时展示不同内容的技术。在互联网上,这将导致在特定浏览器下浏览某些网页时显示的是截然不同的站点。这方面一个有用的例子是Microsoft Exchange Server 2003的Outlook Web Access功能。当在Internet Explorer 6(或更新版本)查看时,比起在任何更旧浏览器中的相同页面,会有更多功能被显示,因为旧的浏览器无法渲染相同内容。用户代理嗅探大多被认为是不好的做法,因为它鼓励浏览器特定的设计而且由于无法识别的用户代理标识而惩罚新的浏览器。相反,W3C推荐创建标准的HTML标记,允许在尽可能多的浏览器下正确的渲染,且测试特定的浏览器特性而不是特定浏览器版本或品牌。专门针对手机的Web站点,如NTT DOCOMO的i-mode或者沃达丰的Vodafone live!(英语:Vodafone live!)门户网站,通常严重依赖于用户代理嗅探,由于移动浏览器通常相互之间差异巨大。在最近几年中,在移动浏览领域已作出了很多发展,然而很多并不拥有这些新技术的旧的手机仍然在被广泛使用。所以,手机门户网站经常依赖用以浏览它们的手机种类而产生而产生截然不同的标记代码。这些差异可以很小,如,调整某些图像的大小以适应更小的屏幕,或者相当大,如,以WML渲染网页而不是XHTML。在美国创建的网页浏览器,如Netscape Navigator和Internet Explorer,在用户代理字符串中使用字母U, I和N以指定加密强度。直至1996年,美国政府允许了通过长于40位密钥的加密被出口为止,供应商推出不同浏览器版本,各自具有不同加密强度。“U”代表美国(为具有128-位加密的版本);“I”代表国际—浏览器具有40-位加密且可以在全世界任何地方被使用—而“N”代表(事实上)“没有”(没有加密)。随着出口限制的解除,绝大多数供应商支持了256-位加密。

相关

  • 人工呼吸心肺复苏术(英语:Cardiopulmonary Resuscitation,CPR)是一种救助心搏骤停病患的急救措施,通过人工保持脑功能直到自然呼吸和血液循环恢复。心肺复苏术并非单一的技术,它包含了一系
  • 干燥症干燥综合征,又名修格连氏综合征,或者舍格伦综合征。该病的英文名称为Sjögren's syndrome(发音为/ˈʃoʊɡrənz/,又称为Mikulicz disease及Sicca syndrome,是一种长期的自身免
  • 作家古希腊文学是指古代希腊世界的文学。广义的古希腊文学涵盖了从氏族制希腊社会到希腊化时代的文学,持续时间近1000年。古希腊文学是整个西方文学的源头,也是欧洲文学的第一个高
  • 前缀在语言学里,前缀(英语:Prefix)又称字首或词头,属于一种前置于其他词素的词缀,由于其无法以单字的方式独立存在,故亦为一种附着词素;此外在欧洲语言里,前缀也几乎都属于衍生语素(屈折变
  • 巯嘌呤巯嘌呤(英语:Mercaptopurine,简称6-MP,又名6-巯基嘌呤、巯基嘌呤或巯唑嘌呤)是一种硫嘌呤类化疗药物和免疫抑制剂。1951年,格特鲁德·B·埃利恩和乔治·H·希钦斯用干酪乳杆菌试验
  • 3-磷酸甘油酸3-磷酸甘油酸(英语:3-phosphoglycerate, 3PG或glycerate 3-phosphate GP)是生物细胞中常见的分子之一,也是糖解作用与卡尔文循环过程里的中间产物。(注:在卡尔文循环当中简写为PG
  • 埃尔伯特县艾伯特县(Elbert County, Georgia)是美国乔治亚州东北部的一个县,1790年12月10日设立,东邻南卡罗莱纳州。面积970平方公里。根据美国2000年人口普查,共有人口20,511人。2005年的
  • 科恩沃尔特·科恩(英语:Walter Kohn,1923年3月9日-2016年4月19日)出生于奥地利维也纳,1998年与约翰·波普共同得到诺贝尔化学奖。科恩在密度泛函理论的发展中扮演了关键角色。1901年:范
  • DNA聚合酶δDNA聚合酶δ(DNA polymerase delta)为真核生物体内的一种酶复合体,可进行DNA复制及修复。DNA聚合酶δ由四个次单元组成:POLD1(英语:POLD1)、POLD2(英语:POLD2)、POLD3(英语:POLD3),以及POL
  • 同盟国驻渝外交机构旧址群同盟国驻渝外交机构旧址群位于中国重庆市南岸区和渝中区,是抗日战争期间同盟国驻陪都重庆的外交机构留下的14处遗迹,包括苏联大使馆旧址、苏联大使馆武官处旧址、美国大使馆旧