HTTP标头:什么是HTTP标题&如何检查HTTP标题?

你想了解HTTP标头吗?此页面已为您编写。继续阅读此页面上的文章,以发现开发人员主要使用的主要请求和响应标题,以将某些详细信息传达给Web客户端和服务器。


 

常规网络用户不需要HTTP标头的知识,以便使用Internet。但是,对于Web客户端的开发人员和用户除常规Web浏览器(如无头自动化工具)外,他们需要了解HTTP标头以开发标准API,故障排除错误,并有效地使用其他人开发的工具。互联网并不像互联网浏览器让我们相信一样简单。互联网不是你的浏览器,它比键入URL是很复杂的,并显示一个网页。

引擎盖背后有很多事情,对常规互联网用户来说并不重要,但是自动化机器人的开发人员或用户,他们是必不可少的壁架。您需要知道的一个概念是您的请求与其他信息发送 - Web服务器同样地从响应主体发送附加信息。

此附加信息旨在将某些详细信息传送到Web客户端或者服务器其他要知道如何治疗请求或响应。这些额外的细节称为HTTP标题。

我们将要学习,详细看待它。但在此之前,请查看我们如何在互联网上访问内容。这种知识对我们对HTTP标头的理解很重要。

如何冲浪互联网工作 - HTTP客户端和服务器型号


其他被称为互联网的国际网络是一种计算机网络,其通过发送和接收数据来彼此通信。互联网比您的本地网络(LAN)更复杂。它为计算机提供了媒介在世界各地的全部沟通沟通。

互联网上基本上有两种类型的计算机。这些是客户端计算机和Web服务器。客户端计算机是您在浏览Internet时使用的计算机。使用Web客户端(Internet浏览器,桌面/移动应用程序,机器人和许多其他人来完成浏览。另一台计算机被称为Web服务器 - 它们是托管的计算机’托管的网站。在其最基本的级别处,通过客户端 - 服务器通信模型进行浏览。让我们看一下这个通信模型中涉及的步骤。

并提交。您的浏览器将发送DNS查询以查找谷歌的IP地址。

使用IP地址,然后使用其IP地址打开与Google的连接,并创建加密的握手以使窃听无用。[123 ] 之后已经创建了连接,您的浏览器现在向谷歌发送正式请求,从其主页请求内容 - HTTP请求标头也被发送。

Google的Web服务器查看请求,如果没有错有了它,您有权访问其主页,它现在将主页内容作为响应发送给浏览器。它不仅发送要显示的响应;它同样将响应头,使您的浏览器会知道如何对待响应。

看看上面的步骤,你可以看到,Web客户端以Web浏览器或机器人的形式将HTTP请求发送到Web服务器,Web服务器处理它们并返回响应。发送的HTTP请求由三个部分 - 请求行,请求标题和请求主体组成。我们在本文中的焦点是请求标题和响应标题 - 将其分组为HTTP标头。

相关的,公共IP地址与本地网络IP地址


目录

什么是http标题?

http标题是与HTTP请求或响应一起传递的附加数据,以将其他详细信息传递给Web服务器(在请求的情况)或者到Web客户端(在响应的情况下)。它提供了有助于您在接收端的计算机的信息更好地了解发送到它的内容以及如何对待它。

HTTP标题不是强制性的,但如果您发送请求,许多Web服务器将禁止您的请求没有其中一些人作为防止垃圾邮件和滥用的一种方式。它们是一个冒号分隔的键 - 值对的形式。

  • [123 ] HTTP标头不区分大小写。这意味着如果您正在开发REST API点,则可以决定在大写或小写中发送响应标头,并且接收客户端应该能够理解。在开发Web客户端,例如发送和接收的任何Web应用程序通过Internet的IVE数据,您还可以决定在大写或小写中发送请求标题。

    如何检查HTTP标题

理解我在那里说过关于Web客户端(Web浏览器)发送请求标题和Web服务器在标题上发送响应的Web服务器,我将向您展示如何检查发送和接收的标题。如果您想要欺骗Web爬虫器和其他类型的机器人避免检测

,则此知识将对您有用。

Web浏览器与他们发送的数据透明您的要求。有专门的软件,您可以使用来检查您的请求并响应查看标题。但是,让我们利用在Google Chrome中预装的那个 - 开发人员工具。

 要使用Chrome检查HTTP标头,请确保您有Internet连接并启动Chrome。寻找开发人员工具(菜单\\u003d>更多工具\\u003d>开发人员工具S 

)并启动它。在浏览器中会弹出一个如下界面。

  • 下一步是向任何有效URL发送Web请求。在此示例中,我们通过在地址栏中键入https://www.google.com并提交它来请求Google主页。立即提交请求;上面的空白空间将以浏览器发送的许多请求填充其他要求,以收集其以渲染Google的主页的所有资源。下面的屏幕截图是在发送请求之后开发人员工具的样子。

  • 从上面,您可以看到良好的请求(51请求全部的)。我点击第二个,你可以看到它返回200个HTTP状态代码,这意味着请求成功。标题信息位于开发人员工具接口的右侧。

    有三个标题信息您可以看到 - 常规标题,响应标题和RequeST标题。如果您查看每个类别中的信息,您将看到我们不知道的Web服务器和客户在引擎盖下发送了许多信息。

我们的重点将由请求和响应标题。我们将只讨论其中一些。有关HTTP标头的全面列表,请在HTTP标头上读取此Mozilla Web文档。

http请求标题

 http请求标题与Web请求一起发送标题将其他详细信息传递给Web服务器。HTTP请求标题用于内容协商,传递其他请求上下文,并允许Web服务器了解有关请求的原点的一些详细信息。 根据您使用的Web浏览器,一堆请求标题可以发送与否。您发送的标题越多,向您发送的响应越好将变得可预测。即使没有发送请求标题,您的请求仍将参加。

  • 然而,您风险将通用内容返回给您 - 或您的请求甚至被拒绝。以下是Web浏览器发送的最常见的HTTP请求标题。作为机器人开发人员,您将它们纳入您的请求和模仿详细信息,以定期浏览器发送,以便您的请求未被检测为机器人。

接受

接受[

  • 接受报头是内容协商标题。它与Web服务器通信Web客户端可以访问,读取或渲染的内容类型。这将指令为Web服务器上的数据格式,它们可以作为响应返回。

    如果Web服务器没有接受内容类型的支持,最好不要甚至发送它第一名。该值取决于所请求的内容类型。但是,每个Web客户端都有一个默认值。例如,拍摄Google Chrome的接受标题是

    文本/ html,application / xhtml + xml,应用程序/ xml; q \\u003d 0.9

[这会传达编码客户端理解的字符。虽然此标题很重要,但某些浏览器不会将它们与您支持流行的编码系统一起发送。即使是浏览器,在许多情况下,不发送这个头。

  • 的Accept-Encoding

  • 这头让网络服务器知道可以在要发送到特定Web客户端的资源上的字符编码算法。Google Chrome发送

gzip,放气

 作为在上面的例子中的接受编码的值,当请求向谷歌发送到谷歌时,请求其主页。[123 

接受语言

接受语言旨在让Web服务器知道它应该发送回响应的语言在。这方面可以派上支持许多语言的网站。没有指定这个,you仍将回复服务器的响应。但是,你可能会在美国英语,而不是在英国英语中提供的响应。

   

的Cache-Control

  • 缓存控制标题用于将缓存策略传送到Web服务器。使用此标题,您可以告诉Web服务器缓存您的响应 - 您也可以在应保留高速缓存的最大时间上给它指令。对于保持缓存的最大时间段,使用MAX-AGE 。缓存控制的一些其他值包括 No-Cache

  • No-Store

公共

,和

私人

。你需要了解更多关于这些更多地了解他们。


连接

默认连接标题的值是保持活力的。即使没有设置它,那就是值。连接标题的另一个值是关闭的。两者之间的差异是,如果该值设置为

,随后在该时段内的同一服务器的连接将使用相同的TCP连接,并且因此提高响应时间并降低CPU负载。除了有一个改变价值的原因,您无需在开发Web自动化机器人时发送此操作。

    饼干

  • [ 123]这个标题的价值是一个cookie。 Cookie是由Web服务器发送给客户端的一小部分数据,以其他方式记住有状态细节并记录一个人的浏览活动。 cookie是特定于网站的,此值通常为空,直到访问之后,一个网站和网站发送饼干。 Cookie对持久性非常重要。登录时,持久会话cookie通过

    将浏览器发送到浏览器

set-cookie

 标题,并且您的浏览器填充cookie标题。使用Cookie设置,您无需在发送同一网站的情况下输入您的用户名和密码nless cookie的过期或清除它。 

的User-Agent

用户代理头可以说是一个在最重要的HTTP请求标题中 - 没有它,某些Web服务器将拒绝访问。用户 - 代理是Web客户端用于将自己识别到网站的字符串。

  • 如何使用Firefox,Chrome,Edge浏览器,Safari,甚至Opera浏览器如何知道您是如何使用的每个浏览器的值都作为用户代理标头的值传递。用户代理有助于将这些详细信息传送为软件名称,应用程序类型,供应商和版本。

    以防止滥用爬行器,刮板和其他自动化机器人,许多Web服务器仅参加与流行用户的请求-Agent。为此,许多机器人开发人员倾向于复制流行浏览器的用户代理串,例如Chrome并将其用作其机器人的用户代理。这种做法是不知何故,不知论是Web Server Administrators CA如果它对他们的服务器产生不利影响,则NNOT识别您的机器人。尽管如此,机器人开发人员不会将此视为最终的问题。

    http响应标题

  • http响应标题

正如Web客户端向请求标题发送其他信息Web服务器,Web服务器同样在发送响应时这样做。附加信息从响应行发送出来,称为HTTP响应标题。

    它们对Web客户端提供了如何处理响应并通过其他将使后续请求更容易和更快的信息。作为Web开发人员,您对这些标题和对它们的正确值非常重要。

  • 消除休息API的显影剂应该同样了解它们,如这将有助于他们构建更多兼容的系统。让看一看流行的响应报头

    缓存控制

  • 缓存控制头出现两次。 - Web客户端都是一个D服务器发送它们。对于Web服务器,他们发送此标题以在缓存上为Web客户端(浏览器)提供指令。对于快速更改的时间敏感数据和其他更改的信息,Web服务器将发送

no-store

  • 作为高速缓存控制值。这是告诉浏览器不缓存响应的内容。 MAX-AGE用于设置缓存的时间段可以保存 - 它是以秒为单位测量的。缓存控制的其他值包括

    no-cache 必须重新验证

    ,以及

  • 公共

等。


含量长度

本特定报头以8位字节表示响应体的长度到Web客户端。这对于接受某个内容长度范围内接受响应的客户是有用的。

含量型


  • 此内容的类型是此标题的值。内容类型标题显示所发送的内容的格式和类型作为回应。它讲述了Web浏览器是否响应是HTML文件,PDF,甚至是音频文件。它也揭示的字符编码。
  • 日期


Date头是非常简单的。此标题用于将时间和日期标记传送,如发送响应时发送。这里使用的时间和日期是服务器而不是客户端。如果您正在开发Web机器人或任何其他消耗REST端点的应用程序,则可能无法使用。如果要跟踪特定检测到何时,它只变得重要。

到期

期限到期标题补充了日期标题。当响应被认为是陈旧时,它会告诉一个Web客户端。就像日期标题,它带有时间和日期。 服务器 这头你相通,发送给您响应的服务器。 sET-Cookie 从HTTP请求标题部分提及Cookie标题以及如何首先在访问网站时首先第一次尝试。Set-cookie标题为Web客户端提供了用于设置其后续请求的cookie。 HTTP标题对机器人开发人员很重要。无论您是开发Web爬虫,刮刀,站点测试仪,甚至是购买机器人,就像在运动鞋机器人的情况一样,您需要了解流行的HTTP标头。这是因为,与发送正确的HTTP请求标头的Web浏览器不同,并且在没有用户干扰的情况下正确地返回返回渲染响应内容的HTTP响应头,所有标头设置都留给您。 大多数HTTP请求模块使用对于开发机器人可以通过它们发送的默认标题来识别,最值得注意的是用户代理字符串。 为此原因,除非您使用自定义标题,否则B的机会被检测到的OT很高。设置持久登录的Cookie也不是自动的,因为它在Web浏览器中。 有很多东西浏览器自动为您做的,如果您正在开发,您需要处理您的情况一个网站机器人 - 你需要与HTTP标头交互以实现一些。 更多HTTP代理指南 是什么是HTTP代理还说明的HTTP代理类型!最常见的HTTP代理错误代码 HTTP和SOCKS代理之间的差异是什么? 结论 重要的是我在此重视,上面讨论的HTTP标题只是常见的。它们有很多,在测试阶段有很多 - 仍然在进行中,在进行中。如果要查看所有HTTP标头的全面列表,可以查看HTTP标题文档在Mozilla网站上。