大部分 android 或者 ios 客户端 的网络通讯其实都是在 模仿 网页浏览器

虽然很初级的知识,但是还是想 写篇文章来 声明一下,让后来者明白一下。

当我们 ios开发,使用 asihttprequest  或者 afnetwork 类库 进行 网络请求的时候,其实我们就是在模拟 浏览器 。

ios客户端,和浏览器的 后台,其实都是同一个东西 http server ,都是使用的 下面的 http 规则

当我们使用 asihttprequest 或者 afnetwork 向 www.baidu.com 发起get请求,其实是跟你在浏览器地址栏中输入  www.baidu.com 并回车效果是一样的 ,实际做的事情就是, 跟 百度服务器建立 tcp 连接,并将一下ASCII 文本发给了 百度服务器。

其他的  post 还有 上传 下载 一类的 asihttprequest 操作 也都 与 浏览器类似 ,不再赘述   


GET / HTTP/1.1     
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Cookie: BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; 这个 根据浏览纪录不同回有所变化
Connection: keep-alive

浏览器收到的百度服务器返回的东西为下面的ascii 字符文本,浏览器会 解析下面的 http 相应报文 ,并把  html document 文档 显示在浏览器上:

HTTP/1.1 200 OK
Date: Mon, 23 Dec 2013 06:23:00 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: Keep-Alive
Cache-Control: private
Expires: Mon, 23 Dec 2013 06:23:00 GMT
Content-Encoding: gzip
Server: BWS/1.1
BDPAGETYPE: 2
BDQID: 0x60479b2158dfb43d
BDUSERID: 309616024
Set-Cookie: BDSVRTM=132; path=/
Set-Cookie: H_PS_PSSID=4486_1436_4634_4261; path=/; domain=.baidu.com 
 
< html>  < h eader > < ti  tle > < title /> < header /> < body >……^^^^^^     ^^^^^^^^^^^ <  body />  < html />    






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值