题外话:
现在回头来看看浏览器通讯那点事:
当你在浏览器输入:http://www.cyqdata.cn,之后发生什么事?
发生的事有很多,有人说了1小部分,今天我也说一小部分,剩下的YI大部分,有待探索。。。
1:首先浏览器不是吃素的,它给你一条输入框,用于输入网址:
知识点:Winform基础:你也可以弄个TextBox,让用户输入网址。
2:浏览器拿你的输入后:
首先它要看一下是不是网址,如果不是,给你显示你哥的,或导航到自己搜索去。
如果它是域名网址,得把它变成IP,怎么换成IP?
知识点:注册表里,有IE浏览器默认错误请求时的定位地址,自己喜欢可以去改下。
3:域名换IP的内部流程:
知识点:涉及注册表操作(禁用IE浏览器缓存或开启)、其它浏览器的API
2:查找系统缓存(如果没有就找Hosts看看有没有)
知识点:操作系统(算了,忽略)
知识点:Hosts的基础操作,涉及IO、系统权限、文件属性等操作。
知识点:本机DNS配置(默认路由器自动分配),网络基本知识(IP、子网掩码、网关、DNS)。
这个http请求数据怎么出去?
首先要开劈端口监听,没端口肯定出不去,到时候还要等待回来的数据也是从这端口进来。
这端口也不会是80,因为80系统自己占了,所以随便来个10000号以上的。
知识点:Socket通讯、TCP协议。
4:有了端口,数据也发了,这数据都怎么流通的?
知识点:winapi,路由表操作、路由表执行原理,规则、静态和动静区别。
知识点:winapi,操作arp,如何发送api,让你局域网同事朋友同学断网。
知识点:底层驱动开发,这个领域不在行。
知识点:路由器的路由表维护。。。
好,之后浏览器接收回来做了些什么事的小部分故事,有人讲了,就不重复了。
总结:
题内话:
每当我写完一个软件,刚发布的时候,总有一群源码虫跑来要源码,我的原则都是,先分享思想,原理,最后才是源码,学习思想很重要。
没事别看源码,除非你要做的事和源码相关的。
需要开发相关的功能时:不要先看,先F5运行,再局部调试去看码源。
其实你好好看看我的博客,提供的源码不计其数,每一个作品,几乎都会搭配源码,认真学习过的,消费为已用的,估计都月收入过万了!!!
正如我写秋式广告杀手,如果不懂这些原理,不懂的分析在合适的地方的拦截处理,怎么能折腾的出来呢?
上面说的,如果你觉的有点收获。。。 。请点点点点。。。。右边那个。。推荐。。。。
2012/12/1 16:54:18 | 网络篇 | |