JAVA Coder 的《深入分析Java Web 技術內幕》讀書筆記 ...
本文基於《深入分析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後支持)非同步非阻塞模式
待續!