2013-04-23 434 views
0

我有html頁面。按下提交按鈕後,請求正在發送。我的問題是請求的標題被降低了!我使用IE瀏覽器,因爲它是合法的限制。HTTP標頭變爲小寫

<html> 
<head> 
<script language="JavaScript" type="text/javascript"> 

function AjaxRequest(url,callback,method){ 
     var req = new XMLHttpRequest(); 
     req.onreadystatechange= function(){ 
       if(req.readyState != 4) return; 
       callback(req); 
     } 
     req.open(method,url,true); 

     var hdrsArr = document.getElementById('headers').value.split('&'); 
     for (var i = 0; i < hdrsArr.length; i++){ 
      var p = hdrsArr[i].split('='); 
      req.setRequestHeader(p[0],p[1]); 
     } 

     var params = document.getElementById('params').value ; 
     req.send(params); 
} 
function AjaxResponse(res){} 
function MakeRequst(){ 
     alert(''); 
     var url = "http://localhost:8080/test-servlet/TestServlet"; 
     AjaxRequest(url,AjaxResponse,"POST"); 
} 
</script> 
</head> 
<body> 
<input type='text' id="headers" size="200" value='key=value&SOAPAction=requestCreditBureau&Content-Type=text/xml;charset=UTF-8&Accept=text/xml'/><br> 
<input type='text' id="params" size="200" value='<?xml version="1.0" encoding="UTF-8"?><CB_Document appl="00000000000127725161" >[....]</CB_Document>'/><br> 
<input type='button' value='doPost' onClick="MakeRequst();"/><br> 
<div id="response_div"></div> 
</body> 
</html> 

回答

2

對於你來說你的頭文件不是失效很重要嗎?

如果是,則不應該按照RFC 2616的規定,所有的字段名都是不區分大小寫的。

3

通過HTTP RFC 2616,標頭字段名稱不區分大小寫。報價從它下面:

HTTP報頭字段,其中包括通用頭(第4.5節), 請求頭(第5.3節),響應頭(第6.2節),和 實體標題(第7.1節)字段,遵循與RFC 822 [9]的第3.1節中給出的 相同的通用格式。每個標題字段由 組成,後跟冒號(「:」)和字段值。 字段名稱 不區分大小寫。該字段值可以前面有任意數量的 LWS,但優選單個SP。通過在每條額外的行前加上至少一個SP 或HT,可以在多行上擴展標頭字段 。應用程序應該產生HTTP結構時應該遵循的「共同組建」,其中一個被稱爲 或指出,由於可能存在 一些實現,不接受任何

這是標準的行爲,所有的瀏覽器吧IE6符合這一點。因此,如果這對您造成問題,您將會遇到嚴重問題,改變對象行爲(這不是用戶級可修改的)。你在做什麼標題?

(幸運餅乾當天:使您的應用程序嚴格發送內容,對接收的內容寬鬆完全適用於此。期望收到混合的小寫,大寫,駝峯頭文件。 。但是符合RFC發送的所有內容)

+0

謝謝!我發送頭文件到我們的合作伙伴應用程序,區分大小寫並等待SOAPAction(不是soapaction)參數。 – Dev 2013-04-23 17:12:03

+0

請將它們指向RFC 2616,並告訴它們**開始遵循標準**? :-)更嚴重的是,可悲的是沒有辦法在客戶端做你想做的事情。您可以通過本地腳本代理請求或修改接收者。恐怕,那些是你唯一的兩個「真實」選擇。 – 2013-04-23 17:16:25

+0

(如果你與這些合作伙伴有商業關係,順便說一句,你可以讓他們基於技術上的無能而感到害怕,值得擠壓他們,你佔了上風,他們可能知道它。) – 2013-04-23 17:17:15