Android中级第十二讲之DNS问题
来源:互联网 发布:服装开单软件app 编辑:程序博客网 时间:2024/04/29 12:32
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!
网络请求经过客户端请求,发送数据包、代理(转发)、隧道(信道)、网关(DNS),最终到服务器。我们都知道网址要通过DNS解析成IP才能到达服务器,也就说IP变化其实到达的是不同的服务器;而这里就涉及到三个问题,第一DNS怎样解析为IP,第二怎样防止IP被篡改,第三IP是否需要缓存。
首先DNS解析的目的是为了得到用户IP,将服务交给距离最近的服务器处理;使用IP直连可以减少解析等待时间,httpdns工具可以解析网址获得IP,例如DnsPod,好处是绕过运营商的LocalDNS,减少域名解析异常情况的出现。
其次IP被篡改,往往由于DNS解析过程出错或者被劫持,这时可以使用本地代理来处理网络请求,将网络请求的数据+签名信息进行校验,同时使用dnspod解析出ip进行校验是否是合法ip,最后使用https的方法发起网络请求。
接着DNS一般都存在缓存时间,放置在java.net.InetAddress和虚拟机层,如果没有则查询DNS服务器获取。通过如下代码设置虚拟机层的DNS缓存时间。
Security.setProperty("networkaddress.cache.ttl", String.valueOf(-1));//查询成功的缓存 -1表示久缓存Security.setProperty("networkaddress.cache.negative.ttl", String.valueOf(0));//查询失败的缓存 0代表永不缓存
单位是秒,其他时间代表缓存时间,而4.0以前是永久缓存,4.0以后默认为2秒
顺便讲下Http请求
get可以加入书签在浏览器端做缓存,意思是从服务器获取数据(查)
post不可以加入书签,意思是向服务器传输数据(改)
put(增)
delete(删)
http://www.w3school.com.cn/tags/html_ref_httpmethods.asp
弱网情况下,只好通过压缩数据包来增加请求成功率,详见:
http://www.cnblogs.com/answer1991/archive/2012/05/07/2487052.html
UTC:原子时
GMT:格林威治时间
Http和Socket通信均属于TCP通信,均是三次握手,四次关闭。
关于网络安全与网络优化
JsConsole:body.contentEditable=true使Elements变的可写入
http://blog.csdn.net/u010983881/article/details/52692788
- Android中级第十二讲之DNS问题
- Android中级第十二讲浅谈架构设计
- Android中级第四讲--相机程序开发
- Android中级第九讲--相机调焦
- Android中级第五讲--获得并设置相机分辨率以及镜头图片倒转问题
- Android中级第十一讲之MotionEvent的分发、拦截机制分析
- C语言学习之关键字第十二讲
- 第十二讲
- Android中级第三讲--如何复用AlertDialog
- Android中级第二讲--制作搜索页面,使用TextWatcher
- Android中级第五讲--GPRS定位的实现
- Android中级第六讲--相机对焦功能实现
- Android中级第五讲--GPRS定位的实现
- Android中级进阶的十个问题
- Android中级教程之----Log图文详解
- Android中级教程之----Log图文详解
- Android中级之手机启动过程
- Android中级教程之----Log图文详解
- ECshop Strict Standards: Only variables should be passed by reference in解决办法
- 利用JavaFx开发RIA桌面应用-Stage窗口关闭监听,并弹出确认提示框
- React中,通过iframe,实现文件下载功能
- 分布式系统中的事务处理
- MongoDB远程访问配置步骤详解
- Android中级第十二讲之DNS问题
- Eclipse删除svn服务器上的文件及文件夹
- java poi生成excel
- 2.2 Android中的IPC
- JAVA重点知识点总结
- 二维相关光谱
- 【LeetCode】 101. Symmetric Tree
- shell中各种括号的作用()、(())、[]、[[]]、{}
- 第十六周