1. 程式人生 > >深入分析JavaWeb技術內幕(一)—— 深入Web請求過程

深入分析JavaWeb技術內幕(一)—— 深入Web請求過程

一、使用者如何發起一個請求?

        當用戶在瀏覽器裡輸入一個URL時,瀏覽器首先會請求DNS將這個域名解析成對應的IP地址,再根據這個IP地址和預設的80埠與遠端伺服器建立Socket連線,然後瀏覽器根據這個URL組裝成一個GET型別的HTTP請求頭,通過outputStream.write傳送到目標伺服器,伺服器等待inputStream.read返回資料,最後斷開這個連線。

二、HTTP解析

1、常見的HTTP請求頭

Accept-Charset :用於指定客戶端接受的字符集

Accept-Encoding :用於指定可接受的內容編碼

Accept-Language :用於指定一種自然語言,如Accept-Language:zh-cn

Host :用於指定被請求資源的internet主機和埠號

User-Agent :客戶端將它的作業系統、瀏覽器和其他屬性告訴伺服器

Connection :當前連線是否保持,如Connection:Keep-Alive

2、常見的HTTP響應頭

Server :使用的伺服器名稱

Content-Type :用來指明發送給接收者實體正文的媒體型別,如Content-Type:text/html;charset=GBK

Content-Encoding :與請求頭Accept-Encoding對應,告訴瀏覽器服務端採用的是什麼編碼

Content-Language :與請求頭Accept-Language對應,描述了響應資源所用的自然語言

Content-Length :指明實體正文的長度,用位元組方式儲存的十進位制數字來表示

Keep-Alive :保持連線的時間

3、常見的HTTP狀態碼

200 :客戶端請求成功

302 :臨時跳轉,跳轉的地址通過Location指定

400 :客戶端請求有語法錯誤,不能被伺服器識別

403 :伺服器收到請求,但是拒絕提供服務

404 :請求的資源不存在

500 :伺服器發生不可預料的錯誤

4、瀏覽器的快取機制

        現在的瀏覽器都有快取機制,一般使用F5重新整理頁面都是返回瀏覽器快取的資料,如果瀏覽頁面發現異常時,使用Ctrl+F5組合鍵重新請求的頁面就是沒有快取的最新頁面,為什麼使用Ctrl+F5重新請求的就是沒有快取的頁面呢?這是因為首先在瀏覽器上使用Ctrl+F5組合鍵重新整理頁面時,瀏覽器會直接向目標URL傳送請求,而不會使用瀏覽器快取的資料,其次為了防止訪問到應用伺服器中部署的快取伺服器中的資料,當我們在使用Ctrl+F5組合鍵重新整理一個頁面時,會在HTTP請求頭中增加一些請求項,通過它來告訴伺服器我們要獲取的是最新的資料,而不是快取資料,如下圖所示:

這是使用F5重新整理頁面的請求頭,返回的是快取資料


這是使用Ctrl+F5重新整理頁面的請求頭,返回的是最新資料


使用Ctrl+F5重新整理頁面時,最重要的是在請求頭中增加了兩個請求項Pragma:no-cache和Cache-Control:no-cache,Cache-Control/Pragma這個HTTP Head欄位用於指定所有快取機制在整個請求/響應鏈中必須服從的指令,這個HTTP Head欄位有一些可選值,如下所示:

Public :所有內容都將被快取,在響應頭中設定

Private :內容只快取到私有伺服器中,在響應頭中設定

no-cache :所有內容都不會被快取,在請求頭和響應頭中設定

no-store :所有內容都不會被快取到快取或Internet臨時檔案中,在響應頭中設定

must-revalidation/proxy-revalidation :如果快取的內容失效,請求必須傳送到伺服器/代理以進行重新驗證,在請求頭中設定

max-age=xxx :快取的內容將在xxx秒後失效,這個選項只在HTTP1.1中可用,和Last-Modified一起使用時優先順序較高,在響應頭中設定

其它HTTP Head欄位:

① Expires :它通常的使用格式是Expires:Fri ,24 Dec 2027 04:24:07 GMT,後面跟的是日期和時間,超過這個時間後,快取的內容將失效,瀏覽器在發出請求之前會先檢查這個頁面的這個欄位,檢視頁面是否已經過期,過期了就重新向伺服器發起請求;

② Last-Modified/Etag :它一般用於表示一個伺服器上的資源最後的修改時間,資源可以是靜態或動態的內容,通過這個最後修改時間可以判斷當前請求的資源是否是最新的。一般服務端在響應頭中返回一個Last-Modified欄位,告訴瀏覽器這個頁面的最後修改時間,瀏覽器再次請求時會在請求頭中增加一個If-Modified欄位,詢問當前快取的頁面是否是最新的,如果是最新的就返回304狀態碼,告訴瀏覽器是最新的,伺服器也不會傳輸新的資料,如下圖所示:

Etag與Last-Modified有類似的功能,它的作用是讓服務端給每個頁面分配一個唯一 的編號,然後通過這個編號來區分當前這個頁面是否是最新的,這種方式更加靈活,但是後端如果有多臺Web伺服器時不太好處理,因為每個Web伺服器都要記住網站的所有資源,否則瀏覽器返回這個編號就沒有意義了。

三、DNS域名解析

1、DNS域名解析過程

下面是一張DNS域名解析的請求過程例項圖:


當一個使用者在瀏覽器中輸入www.taobao.com時,NDS解析將會有大概10個步驟,過程如下:

第一步:瀏覽器會檢查快取中有沒有這個域名對應的解析過的IP地址,如果快取中有,這個解析過程就將結束(域名快取的時間是通過TTL屬性來設定的);

第二步:如果使用者的瀏覽器快取中沒有,瀏覽器會查詢作業系統快取中是否有這個域名對應的DNS解析結果,在Windows中是通過C:\Windows\System32\drivers\etc\hosts檔案來設定的,你可以將域名指定到任何能夠訪問的IP地址,Linux中是在\etc\hosts檔案中設定的;

注:前面兩步都是是本機中完成的,如果現在還無法完成域名的解析,就會真正請求域名伺服器來解析這個域名了。

第三步:我們的網路配置中都會有DNS伺服器地址(Windows使用ipconfig /all命令檢視,Linux使用cat /etc/resolv.conf命令檢視),前面兩個過程無法解析時,作業系統會把這個域名傳送給網路配置中設定的LDNS,也就是本地區的域名伺服器,這個DNS通常是給你提供網際網路服務接入者,如電信、學校、公司等,通常是在一個城市中,不會很遠,大部分的域名解析到這裡就完成了;

第四步:如果LDNS仍然不能解析,這時候LDNS就會到Root Server域名伺服器請求解析;

第五步:根(RDNS)域名伺服器返回給本地域名伺服器(LDNS)一個所要查詢的主域名伺服器(gTLD是國際頂級域名伺服器,如.com、.cn等)的IP地址;

第六步:本地域名伺服器向根域名伺服器返回的主域名伺服器傳送請求;

第七步:接受請求的主域名伺服器查詢並返回對應的Name Server域名伺服器的IP地址,這個Name Server通常就是你註冊的域名伺服器,如你在某個域名服務提供商申請的域名,則這個域名解析就由這個域名提供商的伺服器來完成;

第八步:Name Server域名伺服器會查詢儲存的域名和IP的對映關係表,連同一個TTL值返回給LDNS域名伺服器;

第九步:LDNS得到該域名對應的IP和TTL值後,會快取這個域名和IP對應的關係,快取的時間由TTL值來控制;

第十步:把解析的結果返回給使用者,使用者根據TTL值快取在本地快取系統中,域名解析過程結束。

2、跟蹤域名解析過程

Windows和Linux都可以使用nslookup命令來查詢域名對應的解析結果
[[email protected] ~]# nslookup
> www.taobao.com
Server:         192.168.188.2
Address:        192.168.188.2#53

Non-authoritative answer:
www.tAobao.com  canonical name = www.taobao.com.danuoyi.tbcache.com.
Name:   www.taobao.cOm.danuoyi.tbcache.com
Address: 118.123.203.254
Name:   www.taobao.cOm.danuoyi.tbcache.com
Address: 182.140.245.49

Linux還可以使用dig命令來查詢DNS的解析過程,如dig www.taobao.com(沒安裝bind的要安裝才能使用dig命令:yum install bind-utils)
[[email protected] ~]# dig www.taobao.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> www.taobao.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51874
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 6, ADDITIONAL: 8

;; QUESTION SECTION:
;www.taobao.com.                        IN      A

;; ANSWER SECTION:
www.tAobao.com.         5       IN      CNAME   www.taobao.com.danuoyi.tbcache.com.
Www.tAobaO.cOm.danuoyi.tBcAcHe.com. 5 IN A      118.123.203.254
Www.tAobaO.cOm.danuoyi.tBcAcHe.com. 5 IN A      182.140.245.49

;; AUTHORITY SECTION:
danuoyi.tbcache.com.    5       IN      NS      danuoyins7.tbcache.com.
danuoyi.tbcache.com.    5       IN      NS      danuoyins8.tbcache.com.
danuoyi.tbcache.com.    5       IN      NS      danuoyins9.tbcache.com.
danuoyi.tbcache.com.    5       IN      NS      danuoyins4.tbcache.com.
danuoyi.tbcache.com.    5       IN      NS      danuoyins6.tbcache.com.
danuoyi.tbcache.com.    5       IN      NS      danuoyins5.tbcache.com.

;; ADDITIONAL SECTION:
danuoyins6.tbcache.com. 5       IN      A       203.107.0.100
danuoyins5.tbcache.com. 5       IN      A       198.11.185.190
danuoyins5.tbcache.com. 5       IN      A       205.204.111.111
danuoyins5.tbcache.com. 5       IN      A       47.88.134.60
danuoyins9.tbcache.com. 5       IN      A       101.200.28.65
danuoyins8.tbcache.com. 5       IN      A       203.107.0.100
danuoyins7.tbcache.com. 5       IN      A       120.25.118.65
danuoyins4.tbcache.com. 5       IN      A       121.43.18.33

;; Query time: 5 msec
;; SERVER: 192.168.188.2#53(192.168.188.2)
;; WHEN: Tue Mar 06 10:25:25 EST 2018
;; MSG SIZE  rcvd: 429

結果的第一行輸出了當前的Linux版本號,第二行說明可以增加全域性引數printcmd,QUESTION SECTION表明當前查詢的域名是一個A記錄,ANSWER SECTION部分返回了這個域名的CNAME是www.taobao.com.danuoyi.tbcache.com.,然後返回了這個域名對應的IP地址,如果想檢視更詳細的解析過程,可以使用+trace引數來跟蹤這個域名的解析過程,如dig www.taobao.com +trace
[[email protected] ~]# dig www.taobao.com +trace

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.2 <<>> www.taobao.com +trace
;; global options: +cmd
.                       5       IN      NS      d.root-servers.net.
.                       5       IN      NS      g.root-servers.net.
.                       5       IN      NS      c.root-servers.net.
.                       5       IN      NS      i.root-servers.net.
.                       5       IN      NS      j.root-servers.net.
.                       5       IN      NS      h.root-servers.net.
.                       5       IN      NS      l.root-servers.net.
.                       5       IN      NS      e.root-servers.net.
.                       5       IN      NS      f.root-servers.net.
.                       5       IN      NS      k.root-servers.net.
.                       5       IN      NS      m.root-servers.net.
.                       5       IN      NS      b.root-servers.net.
.                       5       IN      NS      a.root-servers.net.
;; Received 492 bytes from 192.168.188.2#53(192.168.188.2) in 77 ms

com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    86400   IN      DS      30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com.                    86400   IN      RRSIG   DS 8 1 86400 20180319050000 20180306040000 41824 . kSvHG6FP80XH2VEg6ArnBUrj1mYK2d53m70BepOUq3iOOgMcvfrO6hF6 7wZKs+XSiVZFFfyNGR+Ta+yWzgz2K2X11+jGTQ787CNpKgr/uAFhneBg zroUqYocUphMBkY2vB3ICftL5QCDBjgkf7F7BD4eHRFD4SnMDGxqqWdo hlWY0RM0YWwcpykKt5WB3XpVzbFgyGy1HXnZGsATHuPG836iu0DVYXiU KV8EqSGUXe9+4dEGKhHdNNSp/mnCCATbBNWJ+ceN9KK+i06097xIgqr0 YnDSeuLQT9IA3whaiQ+BHqaIBzxAlKXyKijnJ6p75NFOwt5EikS/zaDB QMjDCw==
;; Received 1174 bytes from 192.36.148.17#53(i.root-servers.net) in 237 ms

taobao.com.             172800  IN      NS      ns4.taobao.com.
taobao.com.             172800  IN      NS      ns5.taobao.com.
taobao.com.             172800  IN      NS      ns6.taobao.com.
taobao.com.             172800  IN      NS      ns7.taobao.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20180313044649 20180306043649 46967 com. b3d5klRFU7USTNky2OFJH+1NPIVVl+//DDW5OXMCTDpd615PkeUF3OQB KSB7rjbogsVC2lJWEORhZ6ydlafrLqxJNB0RnT+Zo+MmJ3w2TP9W3kq3 jWkbwdKZJdLFuKrdVCxK5fGyM271Rww7LoIK9mvBIcXe4zKTRhUuSyeK 1Nc=
D9N2ANM7BT92D9HP8CETPLBM45COQFF8.com. 86400 IN NSEC3 1 1 0 - D9N43TORDEE88HEQF8I7JCJ6FK80ND0G NS DS RRSIG
D9N2ANM7BT92D9HP8CETPLBM45COQFF8.com. 86400 IN RRSIG NSEC3 8 2 86400 20180313050226 20180306045226 46967 com. pPCX02EliNlDGPrDKUrGvCH2b0aGCNyzh/Oa1tLISgJsOOkq4Rfydyua ophKiC9xMJhb4UPvCvI4O7GJEEta24wkcxTWzDUMDdh9qQdCD0HmdTm/ L7DddDD97nuQjscBKHFm8q7j/rSsrVOOLnCd5YzFcL5torvZLTX5vup5 4Wo=
;; Received 728 bytes from 192.52.178.30#53(k.gtld-servers.net) in 311 ms

www.taobao.com.         600     IN      CNAME   www.taobao.com.danuoyi.tbcache.com.
danuoyi.tbcache.com.    10800   IN      NS      danuoyins6.tbcache.com.
danuoyi.tbcache.com.    10800   IN      NS      danuoyins5.tbcache.com.
danuoyi.tbcache.com.    10800   IN      NS      danuoyins4.tbcache.com.
danuoyi.tbcache.com.    10800   IN      NS      danuoyins9.tbcache.com.
danuoyi.tbcache.com.    10800   IN      NS      danuoyins8.tbcache.com.
danuoyi.tbcache.com.    10800   IN      NS      danuoyins7.tbcache.com.
;; Received 366 bytes from 140.205.71.245#53(ns6.taobao.com) in 46 ms

3、域名解析的幾種方式

A記錄 : A代表的是Address,它用來指定域名對應的IP地址,A記錄可以將多個域名解析到一個IP地址,但不能將一個域名解析到多個IP地址;

CNAME記錄 : 全稱是(Canonical Name)別名解析,別名解析可以將一個域名設定一個或多個別名,如上面的www.taobao.com別名解析後的別名為www.taobao.com.danuoyi.tbcache.com.

NS記錄 : 為某個域名指定DNS域名解析伺服器,也就是這個域名由指定IP地址的域名解析伺服器去解析;

TXT記錄 : 為某個主機名或域名設定說明。

4、清除快取的域名

Windows中可以通過執行ipconfig/flushdns來重新整理快取

C:\Users\Alexs>ipconfig/flushdns

Windows IP 配置

已成功重新整理 DNS 解析快取。

Linux中可以通過systemctl restart nscd來重新整理快取(安裝nscd使用:yum install nscd,啟動使用:systemctl start nscd)
[[email protected] ~]# systemctl restart nscd

更多清空快取內容參考:http://blog.csdn.net/summerviva/article/details/40867641

在Java應用的JVM也會快取DNS的解析結果,這個快取是在InetAddress類中完成的,它有兩種快取策略:一種是正確解析結果快取,一種是失敗解析結果快取,這兩個快取時間由兩個配置項控制,配置專案是在jre的\lib\security\java.security檔案中配置的,預設值是10秒


如果我們要使用InetAddress類來解析域名,必須是單例模式,不然會有嚴重的效能問題,如果每次都建立InetAddress例項,則每次都要進行一次完整的域名解析,非常耗時。

四、CDN的工作機制

1、CDN架構


2、使用CDN加速的請求過程

        一個使用者要訪問某個靜態檔案,首先要向LDNS伺服器發起請求,經過幾次解析之後,這時LDNS通常會把它CNAME到另外一個域名,這個域名最終會被指向CDN全域性中的DNS負載均衡伺服器,再由這個GMT來最終分配返回給離這個訪問使用者最近的CDN節點,使用者拿到域名解析結果之後,就可以直接去這個最近的CDN節點訪問靜態檔案了,如果這個節點中所請求的檔案不存在,就會再回到源站去獲取檔案 ,然後再返回給使用者。

3、負載均衡

        通常有三種負載均衡:鏈路負載均衡、叢集負載均衡、作業系統負載均衡,DNS解析就屬於鏈路負載均衡,叢集負載均衡一般分為硬體負載均衡和軟體負載均衡,硬體負載均衡一般使用一臺專門的硬體裝置來轉發請求,造價可能會比較高昂,軟體負載均衡使用成本比較低,但是訪問請求需要經過多次代理,會增加網路延遲,最後一種作業系統負載均衡則是利用作業系統級別的軟中斷或者硬體中斷來達到負載均衡,如可以設定多佇列網絡卡等來實現。

4、CDN動態加速

        它的技術原理就是在CDN的DNS解析過程中通過動態的鏈路探測來尋找回源最好的一條路徑,然後通過DNS的排程將所有請求排程到選定的這條路徑上回源,從而加速使用者訪問的效率,如下圖:


相關推薦

深入分析JavaWeb技術內幕—— 深入Web請求過程

一、使用者如何發起一個請求?        當用戶在瀏覽器裡輸入一個URL時,瀏覽器首先會請求DNS將這個域名解析成對應的IP地址,再根據這個IP地址和預設的80埠與遠端伺服器建立Socket連線,然後瀏覽器根據這個URL組裝成一個GET型別的HTTP請求頭,通過output

深入分析JavaWeb技術內幕修訂版》【PDF】下載

java技術 js文件 pan nio 基於 java服務 域名 緩存機制 分析 《深入分析JavaWeb技術內幕(修訂版)》【PDF】下載鏈接: https://u253469.pipipan.com/fs/253469-230062569 內容簡介 《深入分

深入分析JavaWeb技術內幕》 第一章 深入Web請求過程

oot 沒有 目標 com slb 別名 AC 技術 提供服務 第一章 深入Web請求過程 B/S兩方面好處: 客戶端使用統一的瀏覽器(Browser)。瀏覽器統一性,屏蔽了不同服務器提供商提供服務的差異性。並且,瀏覽器交互特性使瀏覽器使用方便,且用戶行為的可繼承性非常強

深入分析JavaWeb技術內幕》之 8-深入分析ClassLoader工作機制

8.1實體記憶體和虛擬記憶體 所謂實體記憶體就是我們通常所說的RAM(隨機儲存器)。在計算機中,還有一個儲存單元叫暫存器,它用於儲存計算單元執行指令(如浮點、整數等運算時)的中間結果。暫存器的大小決定了一次計算可使用的最大數值。 連線處理器和RAM或者處理器和暫存器的是地址匯流排,這個地址匯

深入分析JavaWeb技術內幕》之 6- 深入分析ClassLoader工作機制

 深入分析ClassLoader工作機制   Java 源程式(.java 檔案)在經過 Java 編譯器編譯之後就被轉換成 Java 位元組程式碼(.class 檔案)。類載入器負責讀取Java位元組程式碼,並轉換成 java.lang.Class類的一

Servlet工作原理讀許令波《深入分析javaWeb技術內幕筆記

container 創建 onf 應用 最重要的 深入分析 conf con 技術內幕 在介紹servlet的工作原理之前首先我們要先了解一下與servlet配套的servlet容器,本文以tomcat為例 1.Tomcat容器的基礎知識 Tomcat的容器是分級管理共分為

關於《深入分析JavaWeb技術內幕》中 跨域名共享Cookie的筆記第二次看還是需要花點時間,遂將自己的理解寫下來

圖取自《深入分析JavaWeb技術內幕》 事先應當知曉:a.com 中有會跳轉到 b.net的地方, 儲存session id的Cookie會受到域名的限制,跳轉到b.net之後仍然需要保持之前的登陸狀態(即 需要b.net訪問時也帶上 session id) 核心步驟:跳轉

<<深入分析javaWeb技術內幕>>讀書筆記-JVM內存管理2

空間 不同 class logs 減少 src 一次 ges jvm垃圾回收 JVM垃圾回收策略 1.靜態內存分配和回收   編譯時已經確定了內存空間大小,程序被加載後則一次性分配好內存空間.程序結束後,則對應棧幀撤銷,分配的靜態內存空間則被回收. 2.動態內存分配和回收

深入分析JavaWeb技術內幕》之 7- JVM體系結構

 JVM體系結構 7.1.2JVM體系結構詳解 我們再看看除了指令集之外,JVM還需要那些組成部分。如圖7-2所示,JVM的結構基本上由4部分組成。   類載入器,在JVM啟動時或者在類執行時將需要的class載入到JVM中。 執行引擎,執

深入分析JavaWeb技術內幕》之 12-Spring架構與設計模式

    core context bean(bean工廠,bean定義,bean解析)   bean(bean工廠,bean定義,bean解析)     

深入分析JavaWeb技術內幕》之 11-Tomcat系統架構與設計模式

1、 分發請求 2 、同時請求 3、 多級容器 4、 設計模式 Tomcat的組織結構 https://www.cnblogs.com/zhouyuqin/p/5143121.html   Tomcat Server處理一個HTTP請求的

深入分析JavaWeb技術內幕》之 10-Session與Cookie

session與cookie     通過 返回的JsessionID 建立 session物件 查詢已經存在的session如果沒有就新建 session   standard manager管理session生命

深入分析JavaWeb技術內幕》之 15-iBatis系統架構與對映原理

關鍵詞: 對映、 反射                              &

深入分析JavaWeb技術內幕》之 14-SpringMVC工作機制與設計模式

 dispacherservlet初始化邏輯   handlerMapping            &nbs

深入分析JavaWeb技術內幕》之 深入分析ClassLoader工作機制

 深入分析ClassLoader工作機制 Java 源程式(.java 檔案)在經過 Java 編譯器編譯之後就被轉換成 Java 位元組程式碼(.class 檔案)。類載入器負責讀取Java位元組程式碼,並轉換成 java.lang.Class類的一個例項。每個這

golang技術隨筆深入理解interface

type IPizzaCooker interface { Prepare(*Pizza) Bake(*Pizza) Cut(*Pizza) } func cookOnePizza(ipc IPizzaCooker) *Pizza { p := new(Pizza)

深入分析JavaWeb Item31 -- JDBCMySQL事務管理

一、事務的概念   事務指邏輯上的一組操作,組成這組操作的各個單元,要不全部成功,要不全部不成功。   例如:A——B轉帳,對應於如下兩條sql語句    update from account set money=money+100 where name='B'; u

log buffer及日誌管理深入分析及效能調整

1. log buffer的概念 1.1 log buffer概述 資料庫在執行過程中,不可避免的要遇到各種能夠導致資料塊庫損壞的情況。比如突然斷電、oracle或者作業系統的程式bug導致資料庫內部邏輯結構損壞、磁碟介質損壞等,都有可能造成資料庫崩潰,從而導致資料丟失的現

javaweb學習筆記web入門簡介、tomcat

目錄 1.web入門 2.tomcat 2.1 Tomcat的安裝與使用 2.2 Tomcat的目錄結構 2.3 Web應用的目錄結構 1.web入門 B/S (Broswer -Server 瀏覽器端- 伺服器端)架構,其典型應用就是各種網站。它的特點是第一,不