虽然很初级的知识,但是还是想 写篇文章来 声明一下,让后来者明白一下。当我们 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://it72.com/10118.htm