iOS http网络请求相关知识总结

这篇博客总结了iOS中HTTP网络请求的相关知识,重点讨论了multipart/form-data的多表单上传问题。文章介绍了NSURLConnect、NSURLSession、AFNetworking和MKNetworkKit四种网络请求解决方案,并指出项目主要采用AFNetworking。此外,还详细解释了HTTP请求头的各个参数,如Accept-Language、Accept-Charset、Accept、Accept-Encoding、User-Agent、Host、Connection和Content-Type,以及如何手动拼接multipart/form-data表单。
摘要由CSDN通过智能技术生成
iOS  http网络请求相关知识总结
    网络请求上遇到比较大的问题是multipart/form-data的多表单post上传格式。
     iOS 的网络请求解决方案主要有四种,NSURLConnect、NSURLSession、 AFNetWorking、MKNetWorkKit四种。
     NSURLConnect是一个比较老的网络请求api,可以兼容iOS2.0之后的系统,但请求方式比较灵活,能具备同步与异步请求。
     NSURLSession是基于NSURLConnect基础上,开发的网络请求api,能兼容iOS7.0之后的系统。性能上有了较大的优化,特别是后台传输方面的使用更加便捷。
     AFNetWorking是非常轻便的网络请求第三方库,其于NSURLConnect、NSURLSession的基础上再封装一层,使调用网络请求更简单,特别是上传文件的表单上的封装。
     MKNetWorkKit也是轻便的网络请求第三方库,其效果与AFNetWorking类似,也比较好用,但与AFNetWorking相比,MKNetWorkKit是单独维护的,从版本升级的角度上考虑,AFNetWorking更加适合应用于长久发展的项目中。
     本项目主要采取AFNetWorking为主要的网络解决方案,但部分网络请求依然直接采用NSURLConnect或NSURLSession的方式实现,代码风格的统一工作未完成。
     
Http请求头
      当打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器。

http请求头的简单例子:
      Accept-Language: zh-cn,zh;q=0.5
     Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
     Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
     Accept-Encoding: gzip, deflate
     User-Agent: Mozilla/5.0 (compatible; 域名)
     Host: 域名
     Connection: Keep-Alive

http请求头的参数
     (1)Accept-Language: zh-cn,zh;q=0.5
  意思:浏览器支持的语言分别是中文和简体中文,优先支持简体中文。
  详解:
  Accept-Language表示浏览器所支持的语言类型;     
  zh-cn表示简体中文;zh 表示中文;
  q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型。
 

  (2)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值