你在浏览器中看到的几乎所有东西都是通过HTTP协议传输到你的电脑上的。例如,当你打开这篇文章的页面时,你的浏览器发送了大量的HTTP请求(Request),并收到大量的响应(Response)。

HTTP头信息 (Header)是这些请求和响应的一个重要部分。 HTTP请求和响应的重要部分,它们传达了关于客户端的浏览器、被请求的页面和服务器等的信息。

在本教程中,我们将展示如何从以下方面获取你需要的信息 Request Headers.本教程将指导我们如何从请求头信息中获取我们感兴趣的信息(Request Headers)中获取我们感兴趣的信息,并在必要的响应头信息中设置某些值(Response Headers).

要获得.NET的内容信息,最简单的方法是在一个已发布的请求中执行一个请求。 Request Headers的内容的最简单方法是在一个发布的应用程序中执行一个请求。

  • 转到开发者工具(F12).
  • 切换到 Networks标签。
  • 从列表中选择提交的请求。
  • 切换到 Headers选项卡,并找到 Request Headers节。

1_f12

如何使用AppMaster与Request-Response Headers互动

AppMaster后台设计器中,如果在业务流程块中指定了请求头的名称,你可以获得请求头的信息。 Get Request Headers业务流程块中指定其名称,你就可以获得请求头信息。

2_getRequestHeaders

  • Name[string]- 标题的名称。
  • Value[string]- 头的值。

要添加自定义的 Header在响应中,使用 Set Response Header 块被使用。

3_setResponseHeaders

  • Name[字符串] - 页眉的名称。
  • Value[字符串] - 标头的值。

有许多 Request Headers存在,但下面描述了其中的几个(信息取自https://www.w3.org/Protocols/HTTP/HTRQ_Headers.html)

  • From- 在互联网邮件格式中,这给出了请求用户的名字。这个字段可用于记录目的和一种不安全的访问保护形式。对这个字段的解释是,请求是代表所给的人执行的,他接受对所执行的方法的责任。这个字段中的互联网邮件地址不一定与发出请求的互联网主机相对应。(例如,当请求通过网关时,则应使用原发件人的地址)。如果可能的话,邮件地址应该是一个有效的邮件地址,无论它实际上是一个互联网邮件地址或其他邮件系统上的地址的互联网邮件代表。
  • Accept- 这个字段包含一个分号分隔的表示方案列表(Content-Type metainformation values),在对这个请求的响应中会被接受。当然,在同一用户的不同请求中,给出的集合可能会有所不同。
    例如。
    接受:text/plain, text/html
    接受:text/x-dvi; q=.8; mxb=100000; mxt=5.0, text/x-c
  • Accept-Encoding- 与Accept类似,但列出了响应中可接受的Content-Encoding 类型。
    例子。
    Accept-Encoding: x-compress; x-zip
  • Referer - 这个可选的头字段允许客户为了服务器的利益,指定请求中的URI所来自的文档(或文档中的元素)的地址(URI)。这允许服务器生成文档的反向链接列表,以引起兴趣、记录等。它允许对不良链接进行追踪,以便维护。如果给出了一个部分URI,那么它应该相对于请求对象的URI进行解析。
    例子。
    引用者:http://www.w3.org/hypertext/DataSources/Overview.html
  • Authorization - 如果这一行出现,它包含授权信息。其格式为待定(TBS)。这个字段的格式是可扩展的形式。第一个词是正在使用的授权系统的说明。
    例如。
    授权。Bearer BtHKEsVs5mNNtNf7UWoVwjJzFqLOzucA
  • Accept-Language - 与Accept类似,但列出了响应中最好的语言值。未指定语言的响应并不违法。
  • User-Agent - 这一行如果存在的话,会给出原始客户端使用的软件程序。这是为了统计和追踪违反协议的情况。它应该被包括在内。第一个以空格分隔的词必须是软件产品的名称,并有一个可选的斜线和版本代号。构成用户代理一部分的其他产品可以作为单独的词来写。
    例如。
    用户代理。LII-Cello/1.0 libwww/2.5

Response Headers例子。

  • Allowed - 列出请求用户被允许对该URL发出的请求集。如果省略了这个头行,默认的允许方法是"GET HEAD"
  • Public - 与Allowed相同,但列出了那些任何人都可以使用的请求。如果省略,默认为只允许"GET"。
  • Content-Length - 暗示主体是二进制的,应该直接从通信链接中读取,不需要解析行等。当数据是请求的一部分时,防止对终止序列进行转义和去转义。
  • Content-Encoding - 指定使用的编码机制。目前只使用x-compressx-gzip
  • Content-Type - 指定文档类型。
  • Content-Length - 暗示主体是二进制的,应该直接从通信链路中读取,不需要解析行等。当数据是请求的一部分时,防止对终止序列进行转义和去转义。
  • Last-Modified - 对象的最后修改时间,即如果文件是 "活的文件",则是这个版本的日期。

让我们看一个从请求头信息中获取用户IP及其Cookie值的例子。
为了获得用户的IP,使用了x-real-ip Cookie请求头 提供了Cookie令牌 信息。

该BP看起来像。

bp

在下一步,必须为该BP创建端点。

endpoint

UI看起来像。

ui

最后,结果显示如下。一旦按钮被点击按钮工作流中的onClick触发器),用户就会从页眉中获得信息,而Label的标题也会用这些信息更新(Label Update Properties)。

result

Was this article helpful?

AppMaster.io 101 速成班

10 模块
2 周数

不知道从哪里开始?通过我们的初学者速成课程,从A到Z探索AppMaster。

开始课程
Development it’s so easy with AppMaster!

需要更多帮助?

在我们专家的帮助下解决任何问题。节省时间并专注于构建您的应用程序。

headphones

联系支持

告诉我们您的问题,我们会为您找到解决方案。

message

社区聊天

在我们的聊天中与其他用户讨论问题。

加入社区