我可以自己创建HTTP标头属性吗?

时间:2009-05-17 17:55:40

标签: http jsp header

我可以在HTTP request制作自己的标题吗?

e.g。 这是normal HTTP request

GET / HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT x.x; xx; rv:x.x.x.x) xxx        Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: xx,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

这是我的“属性”标题

GET / HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT x.x; xx; rv:x.x.x.x) xxx        Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: xx,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Name: John

我将在服务器响应中拥有“属性”。我将在HTTP标头中使用“attrubutes”而不是会话属性...

BTW.Sorry for my english ...;)

7 个答案:

答案 0 :(得分:4)

您是否正在尝试重新发明Cookie?

你知道,饼干就是这样。服务器在标头中发送的值,以及客户端将随每个请求返回的值。

答案 1 :(得分:1)

答案 2 :(得分:1)

您可以编写一个小代理应用程序。 它接收客户端请求,添加适当的属性并将其转发给服务器。 我建议使用此解决方案,因为根据我的经验,您需要丰富http标头内容以实现多个Web应用程序之间的集成。

我刚刚描述的行为是由Tivoli Access Manager实现的,用于将LDAP检索的信息转发到后端应用程序。服务器

很抱歉,如果我的回答看起来不合适。

答案 3 :(得分:0)

是的,我相信你可以。尽量确保您没有重新使用已经使用过的标题。另请注意,出于安全原因,Web服务器和代理可能会过滤您的标头。

事实上,我认为jsp 中的会话是使用特殊标题创建的......

答案 4 :(得分:0)

似乎您的问题是关于请求中的标头,即从客户端进入服务器。您无法强制客户端从服务器端发送任何自定义标头。

使用response.setHeader("Name", "John")只会发送此标头作为回应,但客户不会将其发回给您。遗憾。

答案 5 :(得分:0)

您可以使用XMLHttpRequest执行此操作,但不能使用正常的浏览器请求。

答案 6 :(得分:0)

是的,你可以。但是,你为什么要这样做?

HTTP协议允许您设置自己的自定义标头。但是,这也意味着您的服务器需要了解您的自定义标头。因此,此解决方案仅适用于您的自定义应用程序,而不是全面的应用程序。除非您准确记录所有这些自定义,否则它可能会使将来维护/调试更加困难。

我会说wmeyer所说的,使用cookies。

相关问题