From 9b5b315ec8b215b9a8823fffbfa7dc41490dd22a Mon Sep 17 00:00:00 2001 From: Jeffrey Richter Date: Thu, 18 Jun 2020 13:45:19 -0700 Subject: [PATCH 1/2] Updated header casing bullet in section 17.2 --- Guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guidelines.md b/Guidelines.md index 298fc08f..10d5f8f6 100644 --- a/Guidelines.md +++ b/Guidelines.md @@ -2162,7 +2162,7 @@ Services SHOULD use verbose naming patterns and SHOULD NOT use abbreviations oth ### 17.2. Casing - Acronyms SHOULD follow the casing conventions as though they were regular words (e.g. Url). - All identifiers including namespaces, entityTypes, entitySets, properties, actions, functions and enumeration values SHOULD use lowerCamelCase. -- HTTP headers are the exception and SHOULD use standard HTTP convention of Capitalized-Hyphenated-Terms. +- Ideally, HTTP headers are sent over hte wire using lowercase letters a the HTTP/2 specification mandates this ([RFC](https://http2.github.io/http2-spec/#HttpHeaders)). For backwards compatibility, services should treat request headers in a case-insensitive fashion. New services should send response headers in all lowercase. For legacy services (which do not send lowercase response headers), the client should process the response headers in a case-insensitive fashion. If a client converts headers into a map/dictionary where the lanaguge does not support looking up keys in a case-insensitive way, the client library should lowercase the header keys when adding them to the map/dictionary. ### 17.3. Names to avoid Certain names are so overloaded in API domains that they lose all meaning or clash with other common usages in domains that cannot be avoided when using REST APIs, such as OAUTH. From 4d3978bc52ce00bf750bec3daae8e3459815c2b6 Mon Sep 17 00:00:00 2001 From: Jeffrey Richter Date: Thu, 18 Jun 2020 13:55:46 -0700 Subject: [PATCH 2/2] Fixed typos --- Guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Guidelines.md b/Guidelines.md index 10d5f8f6..6450a7a5 100644 --- a/Guidelines.md +++ b/Guidelines.md @@ -2162,7 +2162,7 @@ Services SHOULD use verbose naming patterns and SHOULD NOT use abbreviations oth ### 17.2. Casing - Acronyms SHOULD follow the casing conventions as though they were regular words (e.g. Url). - All identifiers including namespaces, entityTypes, entitySets, properties, actions, functions and enumeration values SHOULD use lowerCamelCase. -- Ideally, HTTP headers are sent over hte wire using lowercase letters a the HTTP/2 specification mandates this ([RFC](https://http2.github.io/http2-spec/#HttpHeaders)). For backwards compatibility, services should treat request headers in a case-insensitive fashion. New services should send response headers in all lowercase. For legacy services (which do not send lowercase response headers), the client should process the response headers in a case-insensitive fashion. If a client converts headers into a map/dictionary where the lanaguge does not support looking up keys in a case-insensitive way, the client library should lowercase the header keys when adding them to the map/dictionary. +- Ideally, HTTP headers are sent over the wire using lowercase letters as the HTTP/2 specification mandates this ([RFC](https://http2.github.io/http2-spec/#HttpHeaders)). For backwards compatibility, services should treat request headers in a case-insensitive fashion. New services should send response headers in all lowercase. For legacy services (which do not send lowercase response headers), the client should process the response headers in a case-insensitive fashion. If a client converts headers into a map/dictionary where the lanaguge does not support looking up keys in a case-insensitive way, the client library should lowercase the header keys when adding them to the map/dictionary. ### 17.3. Names to avoid Certain names are so overloaded in API domains that they lose all meaning or clash with other common usages in domains that cannot be avoided when using REST APIs, such as OAUTH.