前面提到了安卓客户端和.net后端通信,但是讲解的并不是很详细,同时代码分析也不是很彻底,这些再后面一篇文章中都是会做分析的。
一个持续了三天的问题,在今天总算是解决了。虽然说自己以前也是做过相关的开发,但是了解的并不是那么透彻!
总结:
不管是什么前端,他和后端通信都是要通过不同的桥梁,来形成一个通路,比如说:数据库连接,HTTP链接等等。
而,最常见的就是浏览器访问WEB页面。
1.
连接
当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把http://www.mytest.com/变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。
DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。现在已经拥有了目标ip和端口号,这样我们就可以打开socket连接了。
2.
请求
连接成功建立后,开始向web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)
。GET命令的格式为: GET 路径/文件名 HTTP/1.0
文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。现在可以发送GET命令:
GET /mytest/index.html HTTP/1.0,
3.
应答