为什么WebView标头键在android中转换为小写?

时间:2018-08-30 07:26:48

标签: android webview http-headers

我在android的webview中发送自定义标头。当我在服务器中打印标题参数键和值时,则参数值按原样打印,即发送,但参数键以小写形式打印,但我的要求是按原样打印参数键,并发送。我们如何实现呢?

在我的Java代码下面

webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setDefaultTextEncodingName("utf-8");
    webView.getSettings().setJavaScriptEnabled(true);

headerValue = new HashMap<>();
   String headerKey = "A-Abc-Def-API-Version";
   headerValue.put(headerKey, "Abc");
   webView.loadUrl(webViewUrl, headerValue);

下面是我的PHP代码

<?php
    echo "test";

$headers =  getallheaders();
foreach($headers as $key=>$val){
  echo $key . ': ' . $val . '<br>';
}

?>

上面的代码打印标题键如下

Accept:
a-abc-def-api-version: Abc

1 个答案:

答案 0 :(得分:0)

HTTP标头名称不区分大小写。如果您的实现要求区分大小写,则违反标准。

  

3.2。标头字段

     

每个标题字段由不区分大小写的字段名称组成   后面跟一个冒号(“:”),可选的前导空白,该字段   值和可选的尾随空白。

来源:https://tools.ietf.org/html/rfc7230#section-3.2