《深入分析Java Web技术内幕》章节试读

当前位置:首页 > 网络编程 > 编程语言与程序设计 > 深入分析Java Web技术内幕章节试读

出版社:电子工业出版社
出版日期:2012-9
ISBN:9787121179907
作者:许令波
页数:442页

《深入分析Java Web技术内幕》的笔记-第1页 - web请求过程

b/s架构带来两方面好处
客户端使用统一浏览器
服务端基于统一的http协议
b/s网络一次请求一次数据交互,不是采用长连接的方式处理数据。
b/s网络架构简图:
输入url之后的操作:
请求dns把域名解析成ip---->根据ip在互联网上找对应主机--->
向主机发一个get请求--->主机决定返回默认的数据资源给访问的用户.
(主机负责复杂的业务逻辑)
如何发起一个请求?(发送一个http请求的过程就是建立一个socket通信的过程)
浏览器建立socket连接--->outputstream.write http格式数据--->服务器等待
inputstream.read返回数据--->断开连接
http协议:
HTTP Header:控制用户数据的传输
浏览器缓存机制(ctrl+F5刷新):
Cache-Control/Pragma:no-cache
Http head :Expires:超过设定的时间后缓存失效
Last-Modified/Etag:资源的最后修改时间,Etag给页面分配一个唯一编号
DNS域名解析 浏览器检查缓存中是否有域名对应的解析过的ip地址(有则结束,ttl设置缓存时间)---->
如果浏览器缓存中没有,浏览器会查找操作系缓存中是否有这个域名对应的dns解析结果(hosts文件,/etc/named.conf)---->
如果主机中没找到,请求域名服务器(就近的dns服务器,称为LDNS)---->
如果LDNS中没有找到,请求Root Server DNS---->
根域名服务器返回级本地域名服务器一个查询域的主域名服务器地址(gTLDServer)----->
本地域名服务器再向上一步返回的gTLD服务器发送请求----->
接受请求的gTLD查找并返回此域名对应的Name Server域名服务器地址(在服务提供商中注册的域名)----->
Name Server 查询存储的域名和IP的映射关系表,得到IP记录,连同一个TTL值返回给DNS Server---->
返回该域名对应的IP和TTL,LDNS Server会缓存这个域名和IP的对应关系----->
最后,把解析的结果返回给用户,用户根据TTL缓存到本地缓存中
清除缓存的域名:
ipconfig /flushdns
/etc/init.d/nscd restart
jvm 缓存DNS解析结果,在InetAddress类中完成。
修改缓存时间:%JAVA_HOME%\lib\security\java.security文件
networkaddress.cache.ttl 和networkaddress.cache.negative.ttl (-1永不失效,10 10秒)
修改方法:-Dsun.net.inetaddr.ttl=xxx,或者通过InetAddress类动态修改
使用InetAddress 类解析域名时,要使用单例模式,不然每次都解析域名会非常耗时
几种域名解析方法:
A记录,MX记录,CNAME记录,NS记录和TXT记录
CDN工作机制:
CDN是内容分布网络,是构筑在现在Internet上的一种先进的流量分配网络,目的是通过现有的internet中增加一层新的网络架构,将网络的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容。
CDN=镜像+缓存+整体负载均衡
目前CDN以缓存网站中的静态数据为主(css,js,pic,html...)
通过CDN达到的目的:可扩展,安全性,可靠性,响应和执行.
cdn结构:
负载均衡:
对工作任务进行平衡、分摊到多个操作单元上执行。
3种负载均衡架构:链路(dns解析成不同IP,根据IP访问不同的目标服务器)、
集群(硬件或软件来转发请求)、
操作系统负载均衡(操作系统的软中断或者硬件中断)


《深入分析Java Web技术内幕》的笔记-第261页 - 深入理解Session&Cookie

=Chapter X Session&Cookie=
1. 三种实现session的方式
a. 基于URL
b. 基于Cookie
c. 基于SSL
2. HttpFox/ Firecookie

3. HttpOnly 属性,防止JS读取/写入 Cookie
4. 分布式Session框架
集群session的解决方案: a. 硬件负载 b. session复制 成本

a. 订阅服务,比如configserver,zookeeper
b. 分布式缓存,比如Memcache,Tair
c. SessionFilter
d. 拦截request&response
5. Cookie的跨域共享
解决跨域的单点登录问题

6. 防重复提交
a. 在生成表单时,生成TOKEN,写入session
b. 提交表单时,比对服务端的TOKEN
c. 如果令牌相同,执行业务操作,生成新的TOKEN

《深入分析Java Web技术内幕》的笔记-第61页 - 深入分析java web 中文的编码问题

看了这么关于编码,乱码的问题,这次终于静下心来看看这章,终于看明白了,我认为这章讲的很好!

《深入分析Java Web技术内幕》的笔记-第258页

Filter类的核心还是传递的FilterChain对象,这个对象保存了到最终Servlet对象的所有Filter对象,这些对象都保存在ApplicationFilterChain对象的filters数组中。FilterChain链上每执行一个Filter对象,数组的当前计数加1,直到计数等于数组的长度,当FilterChain上所有的Filter对象执行完成后,就会执行最终的Servlet。注:书中说描述的是针对Tomcat容器的。


 深入分析Java Web技术内幕下载 更多精彩书评


 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024