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

Home / Article MrLee 2016-9-14 3718

虽然很初级的知识,但是还是想 写篇文章来 声明一下,让后来者明白一下。
当我们 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> <header><ti tle><title/><header/><body>……^^^^^^  ^^^^^^^^^^^< body/> <html/>

本文链接:https://www.it72.com/10118.htm

推荐阅读
最新回复 (1)
  • RossCockrell5 2016-9-18
    引用 2
    本文是采集插件采集的,估计作者可能还没搞清楚HTTP协议,新手写的文章。这只是HTTP协议,大家肯定是遵循这个协议来实现的。
返回