Я создаю свой собственный веб-сервер, но у меня есть несколько вопросов о заголовке HTTP-REQUEST (от чувствительности к регистру до пробелов). Пожалуйста, не отмечайте этот вопрос как «уже отвеченный», потому что я проверил переполнение стека и не сделалне нашел мой ответ ...
Рассмотрим этот запрос HTTP:
POST index.html?key1=value1&key2=value2 HTTP/1.1\n\t
Host: www.domain.com\n\t
Content-Type: text/html\n\t\n\t
data....
Вопрос 1 :
О строке 1: если естьбудет ли пробел перед 'POST', это правильный HTTP-запрос? Должен ли я проверить первые символы, являются ли они пробелами, или просто проверить, что первый символ равен 'P' или 'G' или ...?
Вопрос 2 : (уже заданно я хочу быть уверен)
О строке 1 (HTTP-METHOD): Все символы HTTP-METHOD должны быть в верхнем регистре? Например, «Сообщение» или «сообщение» является недействительным? (Я просто проверяю символы в верхнем регистре или мне тоже нужно проверять строчные буквы?)
Вопрос 3:
О строке 1 (между HTTP-METHOD и URI):
Между 'POST' и 'index.html' всегда есть символ 0x20 ('')? Например, если клиент предоставил другие символы пробела (например, табуляцию или даже несколько символов пробела), это будет неправильно?
Вопрос 4:
То жекак вопрос 3, но примерно между строкой запроса и HTTP-VERSION (... key2 = значение HTTP / 1.1)?
Вопрос 5:
Между каждым заголовком-клавиша строки и «:» может быть любым символом пробела, или это всегда так «ключ:»?
Вопрос 6:
После «ключ:» он долженбыть символом '' (0x20) или не может быть! ? Можно ли быть чем-то вроде символа табуляции? (Должен ли я проверить наличие других символов пробела, таких как tab?)