作为一个java_web开发人员,我们对jsp,servlet,ssh等各种开发技术都有自己浓厚的兴趣,但是现在我要问一下,你对web的工作原理甚至于它的底层了解吗?即使是了解又能到什么程度?这往往是我们忽略的,但它又是最重要的。只有掌握了根本的原理才能让我们的web之路有更好的发展。
现在许令波老师给我们提供了这样一本书,《深入分析Java Web技术内幕》。本书最大的一个特点就是对web底层原理的讲解,从基本的访问协议开始,带我们一步步的深入web应用的底层。书中采用图文结合的形式,语言简洁流畅,阅读起来不像一般的原理性书籍那样枯燥乏味。在给我们分析底层的工作的原理以及访问流程的同时,又给我们阐明了日常开发的实践应用,正是理论与实践相结合。
下面是对本书的试读的一些总结:
1.如何发起一个请求
这是最基本的,我们都应该对此有一定的了解。一个请求将相当于一次socket通信,我们输入相应的URL地址,DNS解析出IP地址,再根据相应的IP和端口建立链接,通过输入流(outputStream.write)将请求的参数发送到目标服务器,使用输出流获取(inputStream.read)返回数据,最后断开链接。
2.http协议解析
使用浏览器工具即可查看http访问的基本信息,一般采用的是火狐的firebug工具(F12即可调出),使用此工具还可以调试js,查看网页结构等。
为了提高访问速度浏览器采用缓存机制,有的时候缓存也会给我们带来不利的影响,使用Ctrl+F5组合键即可使客户端直接请求服务器,而不是使用本地缓存。
3.DNS域名解析
本书讲解了DNS的具体作用,将我们访问的url域名解析成相应的ip地址。然后又深入的讲解了DNS解析的整个过程以及域名解析的几种不同的方式,让我们对DNS又有了更加深刻的理解。同时还从实践的角度教我们如何清除Windows或者Linux下的域名缓存,更好的证明了本书理论与实践相结合的特点。
4.CDN工作机制
此处提到了CDN架构,CDN的全称是Content Delivery Network,即内容分发网络。将一台服务器的内容平均分布到不同的服务器上,服务器只能识别,用户可以就近获取数据,提高访问速度。
书中已淘宝为例给我们阐述了一下CDN的常用方式,以静态数据为主,用户从主服务器上获取动态内容后再从CDN上下载相应的静态数据。又通过CDN给我们引出了“负载均衡”,以相互对比的方式给我们详细的介绍了负载均衡的三种架构,又将各自的优缺点做出了详细的介绍,使我们有了更加深入的理解。
最后强烈推荐这本《深入分析Java Web技术内幕》,无论你是准备找工作的同学,还是已经工作了很多年的前辈,我相信这本书绝对会给你带来不一样的感觉。
相关推荐
本书《Java Web开发技术大全》无疑是深入学习这一领域的宝贵资源。以下将详细阐述Java Web开发中的核心知识点。 1. **Java基础**:在进入Web开发之前,首先需要掌握Java语言的基础知识,包括类、对象、接口、异常...
以Java语言为载体,通过讨论Java程序设计的一般过程和方法,重点讲述程序设计基础、面向对象程序设计、算法与数据结构、GUI程序设计和Web程序设计的知识,并涉及计算机科学基础、数据和控制、程序设计理论、软件工程...
通过这个试读版教程和配套课件,学生可以逐步掌握Java编程的核心概念和技术,为后续的深入学习和实际项目开发打下坚实基础。同时,Q学院提供的链接可能包含更多练习题、习题解答和编程挑战,以辅助学习过程。
《实战Java高并发程序设计》是一本专注于Java并发编程实践的书籍,试读版提供了前两章的内容,为读者提供了一个初步了解并发编程基础的窗口。在Java领域,并发编程是构建高性能、高效率系统的关键技术,对于软件开发...
《Java语言程序设计(基础篇)(英文版·第10版)》是...通过这个试读版,读者可以对Java编程有一个初步的认识,为进一步深入学习打下坚实的基础。如果对Java编程感兴趣,建议购买完整版教材,以便系统学习所有内容。
Java程序设计是计算机科学中的一个基础且至关重要的领域,尤其对于...通过这个“Java程序设计大学教程试读+课件”压缩包,初学者可以逐步深入学习Java编程,掌握基本概念和编程技巧,为进一步的软件开发打下坚实基础。
以上只是《Java程序设计大学教程》试读版中的部分关键知识点,完整的学习过程中还将涉及更深入的主题,如网络编程、数据库连接、反射、泛型、枚举、注解、Lambda表达式以及Java 8及更高版本的新特性。通过这个试读版...
这个压缩包包含了教材的试读版本和相关的课件资源,帮助学习者深入理解Java编程。 1. **Java语言基础**: Java是一种面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它的设计目标...
Java程序设计是计算机科学教育中的核心课程之一,尤其在大学阶段,它为学生提供了深入理解面向对象编程...通过深入学习,不仅可以掌握Java编程技能,还能培养解决问题和分析问题的能力,为未来的职业生涯打下坚实基础。
Kali Linux渗透测试技术详解试读
《Manning.Java.Persistence.with.Hibernate》一书是Hibernate领域的权威指南,由Hibernate项目的主导开发者撰写,深入浅出地讲解了Hibernate框架的核心概念、架构设计、配置方法以及在实际开发中的应用技巧。...