Я прочитал this вопрос, но он не ответил на мой quesiton.В чем разница между параметрами HTTP и заголовками HTTP?
Для меня заголовков и параметров являются словарями с той разницей, что заголовки является [String : String]
в то время как параметры являются [String : AnyObject]?
и поэтому, если ваши параметры также Струны, то вы могли отправить их в заголовках (при использовании «x-» префикс означать, что они не являются стандартными заголовками), что является обычной, но не очень хорошей практикой.
- Верно ли это?
- Есть ли другая разница между
headers
иparameters
? - Какие другие типы, отличные от String, вы отправляете с использованием
parameters
?
Alamofire Request
метод
public func request(
method: Method,
_ URLString: URLStringConvertible,
parameters: [String: AnyObject]? = nil,
encoding: ParameterEncoding = .URL,
headers: [String: String]? = nil)
-> Request
{
return Manager.sharedInstance.request(
method,
URLString,
parameters: parameters,
encoding: encoding,
headers: headers
)
}
В качестве примера я видел людей, проходящих ["x-ios-version" : UIDevice.currentDevice().systemVersion]
или строить версии через заголовки
[HTTP spec говорит] (https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.3) «Поля заголовка запроса позволяют клиенту передавать дополнительную информацию о запросе , а также о самом клиенте на сервере ». Заголовки предназначены для метаинформации о запросе, который позволяет веб-серверу анализировать запрос. С другой стороны, параметры запроса являются фактическим содержанием запроса. Я бы не стал объединяться с ними только потому, что они оба состоят из пар ключей и ценностей. – Rob
@ Rob OK. Я спрашиваю, что мне делать. ТАКЖЕ Я спрашиваю, что делают другие :), независимо от того, насколько это хорошо ... Поэтому я могу понять, где код и как использовать HTTP-заголовки. Извините, если я повторяю себя: * если ваши параметры также являются строками, то вы ** можете ** отправить их в заголовки (при использовании префикса «x-», чтобы обозначить, что они не являются стандартными заголовками), который является * * несколько ** обычный но не хорошая практика * <- некоторые используют это так? – Honey
Я действительно не понимаю. Вы спрашиваете, можете ли вы добавить свои собственные пользовательские заголовки с информацией, которая действительно принадлежит параметрам, даже если вы знаете, что это не хорошая практика? Конечно, но это плохая идея. Если у вас есть пример параметра, который вы планируете создать заголовок, отредактируйте вопрос, чтобы включить его. – Rob