Недопустимые символы в заголовках HTTP

Я создаюHttpUrlConnection и нужно установить несколько пользовательских заголовков.

Я хотел бы сделать что-то вроде следующего, но содержимое карты заголовка должно исходить из одной строки. Существуют ли какие-либо символы, которые являются недопустимыми или используются крайне редко как в именах заголовков HTTP, так и в значениях заголовков HTTP?

HashMap<String, String> headers = new HashMap<String, String>();

// TODO: How can I fill the headers map reliably from a single string?

HttpURLConnection c = (HttpURLConnection) url.openConnection();
for(Map.Entry<String, String> e : headers.entrySet())
    c.setRequestProperty(e.getKey(), e.getValue());

Решение на данный момент

Кажется, что имена HTTP-заголовков не содержат пробелов (обычно вместо них используется тире?), Поэтому я могу отделить имя от значения, используя один пробел. Что касается наборов «имя-значение», то, похоже, я облажался, так как значение может содержать почти все, что соответствует данному ответу. Поэтому я только что выбрал персонажа, который, я уверен, никогда не будет использован:§, Если окажется, что это действительно нужно, мне просто нужно откорректировать мой код: p

Header1 Value1§Header2 Value2§Header3 Header3

Ответы на вопрос(1)

Ваш ответ на вопрос