我应该使用哪种标题?XMLHTTPRequest标头或SOAP标头

本文关键字:SOAP 标头 XMLHTTPRequest 标题 我应该 | 更新日期: 2023-09-27 18:28:23

我有一个包含SOAP消息的XMLHTTPRequest
我想添加将标识消息并由C#web服务使用的guid
GUID的目标是识别特定的用户,并为服务器上的身份验证目的护送所有用户请求。此GUID在用户登录时创建,保存在服务器上,然后服务器检查每个请求的请求GUID。

我应该像这样使用XMLHTTPRequest头吗:

setRequestHeader("GUID", this.requestGUID);

或者使用SOAP标头

<?xml version="1.0"?<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
  <GUID>someGUID...</GUID>
</soap:Header>
...
...
</soap:Envelope>

其中一个有什么好处吗?

谢谢!

我应该使用哪种标题?XMLHTTPRequest标头或SOAP标头

我认为你的问题的答案主要是品味问题。我个人更喜欢使用setRequestHeader方法:它在消息中占用较少的空间,并且不依赖于SOAP(我个人更像SOAP一样喜欢JSON)。

如果我能更多地了解GUID值的性质,我可能会改变主意。如果GUID是数据的属性,那么消息正文将是更好的选择。由于没有你在问题中发布的更多信息,我选择setRequestHeader

如果您的代码有一个SOAP消息,那么它应该有一个SOAP头。将SOAP消息与其他标头混合可能会破坏SOAP堆栈的某些实现。.NET中的实现特别严格。

XMLHTTPRequest标头用于restfull服务,这些服务背后有不同的原则。