? ? 在看到ITEYE技术图书有奖试读活动前,就在作者的blog 上看到了《深入分析 JAVA WEB 技术内幕》的两章样章:第1章 B/S网络架构及web请求过程、第3章 java中文编码问题。作者从网络的基本概念到基本工作原理,再到实际中遇到问题如何解决方式,循序渐进、由浅到深。以前总是基本概念模糊不清,遇到问题只会从表面上解决,不能深入理解其根本原因。对了这两章后都能让人豁然开朗,认识到问题根本,以后应根据原理解决相关一系列问题,而不是一个问题。这也应该是学习的根本。看来试读章节后,一直很想买上一本慢慢看,参加完活动(测试RP)后一定整一本。
? ? ?第1 章深入Web 请求过程主要对B/S网络结构、一个请求如何发起、Http协议各个部分参数含义、DNS域名解析及CDN工作原理做了详细的介绍。
? ??我把主要内容画了张图,如下
?
?
B/S结构:browser/server模式,通过HTTP协议、TCP/IP协议连接Client和Server端进行数据传输,作为java 开发者,这个大家都懂的。
?
? ? 发起请求
在实际开发过程中,一个请求的接收都是有服务器实现(如tomcat、JBOSS等),并不对其很了解。发起一个请求,实际上服务器(TOMCAT)是通过建立一个ServerSocket ,客户端通过IP、PORT与其建立连接,而后由服务器程序对请求进行处理。可以通过HTTPCLIENT 在程序中模拟发起请求。具体见HttpClient框架DEMO
?
?
?
? ? ? ?HTTP协议
? ? ? ?通常我们可以通过FireBug、HttpFox等工具对请求中HTTP信息做全面了解。下面是访问baidu.com 产生的HTTP信息,请求、响应、缓存等信息一目了然。具体参数含义这里不一一介绍了。
? ??
?
?
? ? ?第1章内容中自己关注较少就是DNS解析和CDN工作原理。本书的详细介绍让我明白不少。
? ? ?DNS?域名解析
? ? ?DNS 域名解析过程实际是如何将域名解析成IP地址的过程。简单的过程就是
? ? ? ? ? ?1)先查找到主域名服务器gtTD,
? ? ? ? ? ?2)在主域名服务器中查找并返回对应的Name Server域名服务器
? ? ? ? ? ?3)在Name Server域名服务器中查找到目标IP和TTL值,返回给用户。
? ? ?
? ? ? ?书中还介绍了查询域名解析结构方法:nslookup命令及DNS缓存清理方式ipconfig /flushdns
?
? ? ? CDN(内容分布网络)
? ? ? 通过分布式存储方式,将访问流量合理分配到各个服务器,加快网站的响应速度。CDN能达到的目标:可扩展性、安全性、可靠性、响应和执行更加可靠。
书中也对负载均衡做了相应的介绍,可以深入学习。
?
?
? ? ? ? 本书从基本原理到问题产生原因、实际WEB问题解决方式都做了深入的介绍和分析。对WEB开发人员有很大的收获。本书值得一读。想对WEB框架有深入研究,推荐看看作者BLOG http://xulingbo.net/?
?
?
?