java中的setRequestProperty

java中的setRequestProperty,java,httpurlconnection,urlconnection,Java,Httpurlconnection,Urlconnection,文档说明setRequestProperty设置常规请求属性 因此,假设我有以下代码片段,显示setRequestProperty的用法,如下所示: URL url = new URL(requestUrl); URLConnection urlConn = url.openConnection(); urlConn.setRequestProperty("accept", "application/json"); urlConn.

文档说明
setRequestProperty
设置常规请求属性

因此,假设我有以下代码片段,显示
setRequestProperty
的用法,如下所示:

        URL url = new URL(requestUrl);
        URLConnection urlConn = url.openConnection();
        urlConn.setRequestProperty("accept", "application/json");
        urlConn.setRequestProperty("datetime", dateTimeString);
        urlConn.setRequestProperty("authorization", authorization);
        urlConn.setUseCaches(false);
        urlConn.setDoInput(true); // Triggers POST
Q1:
accept
这里是否需要大写的
A
?类似地,对于
authorization
,是否也需要大写
A
?我问这个问题的原因是因为我看到许多帖子,其中人们一直在使用
授权
,例如
conn.setRequestProperty(“授权”、“基本”+encodedString)。如图所示


问题2。由于我在上面定义了很多
setRequestProperty
属性,这是否意味着URL包含所有这些属性?除了我上面使用的属性之外,还有其他属性吗?

A1:HTTP头字段,包括常规头(第4.5节)、请求头(第5.3节)、响应头(第6.2节)和实体头(第7.1节)字段,遵循RFC 822[9]第3.1节中给出的相同通用格式。每个标题字段由一个名称,后跟一个冒号(“:”)和字段值组成字段名不区分大小写

A2:这些变量将在HTTP请求头中。如果希望URL包含这些参数,则需要将它们附加到URL上:

http://www.google.com?bar=far&boo=foo

setDoInput(true)不会触发POST。@EJP但它是
POST
所必需的,对吗?