本文基于《深入分析Java Web 技术内幕》
《深入分析Java Web 技术内幕》,作者是 许令波,电子工业出版社。本文只是记录书本当中的精彩部分,作个人回顾和技术分享,请读者支持正版!
第一章:深入Web请求过程
1.1 B/S网络架构概述
HTTP采用无状态的短连接的通信方式。
当一个用户在浏览器里输入www.taobao.com这个URL时,会请求DNS把这个域名解析成对应的IP地址,然后根据这个IP地址在互联网上找到对应的服务器,向这个服务器发起一个get请求,由这个服务器决定返回默认的数据资源给访问的用户。
1.2 如何发起一个HTTP请求
发起一个http请求的过程就是建立一个Socket的通信过程
1.3HTTP解析
HTTP最重要的就是 HTTP Header,应熟记HTTP常见的Request Header 、Response Header 、Status Code,
在Chrome-->F12-->Network中,可查看相应的信息。
第二章:深入分析Java I/O的工作机制
大部分Web应用系统的瓶颈都是I/O瓶颈,包括Java的I/O类库的基本结构,磁盘I/O工作机制,网络I/O的工作机制
2.1Java的I/O类库的基本结构
基于字节操作的I/O接口:InputStream和OutputStream
基于字符操作的I/O接口:writer reader
基于磁盘操作的I/O接口: File
基于网络操作的I/O接口: Socket
数据格式和传输方式是影响效率的关键
字节和字符之间需要转化
2.3.3Java Socket 的工作机制
Socket建立连接由底层根据TCP/IP协议,建立TCP连接,由IP来寻址网络中的主机
TCP建立连接三次握手---TCP释放连接四次挥手
2.4NIO的工作方式
首先清楚三个概念,BIO--Blocking IO 同步阻塞IO模式,NIO--New IO同时支持阻塞和非阻塞模式,
AIO--Asynchronous IO(JDK7后支持)异步非阻塞模式
待续!