URL、URN、URI
URL的主要語法格式為,目的是以文字方式來說明互聯網上的資源如何取得,
<scheme>:<scheme-specific-part>
協議特定部分又可以表示為
//<用戶>:<密碼>@<主機>:<埠號>/<路徑>
URN代表某個資源獨一無二的名稱,
URL、URN都用來表示某個資源,后來指定URL標準,URL與URN成為URI的子集,
超文本傳輸協議HTTP(Hyper Transfer Protocol)
兩個重要特性
- 基于請求、回應模型,必須由瀏覽器主動發出請求,
- 無狀態協議,回應客戶端后不會記得客戶端的資訊,
概念和傳輸程序
- 在萬維網客戶程式與萬維網服務器程式之間進行互動所使用的協議,是超文本傳送協議 HTTP (HyperText Transfer Protocol),
- HTTP 是一個應用層協議,它使用 TCP 連接進行可靠的傳送,

- 每個萬維網網點都有一個服務器行程,它不斷地監聽 TCP 的埠 80,以便發現是否有瀏覽器向它發出連接建立請求,
- 一旦監聽到連接建立請求并建立了 TCP 連接之后,瀏覽器就向萬維網服務器發出瀏覽某個頁面的請求,服務器接著就回傳所請求的頁面作為回應,
- 最后,TCP 連接就被釋放了,

HTTP報文格式
HTTP請求報文格式



注意:雖然在POST請求時,請求引數不會出現在地址欄上,而是寫在資訊體重,然而在非加密聯機的情況下,若請求被第三方獲取了,請求引數仍然是一目了然,機密資訊請務必在加密聯機下傳送,
HTTP回應報文格式

瀏覽器快取是什么
所謂的快取,是指cache,就是快取,
你以前上過什么網,那個網站的一些基本元素會保留在本機,就是所謂的快取,
下次訪問這個網站的時候,會從本機讀取這些東西,而不是重新下載,能夠明顯的加速網頁打開,
清除快取就是清掉那些下載過來的東西,讓所有的東西都重新下載,
服務端可以指定適當Cache-Control標頭來避免Get回應被快取,大多數瀏覽器不會對Post回應快取,
URI編碼


Servlet/JSP
JVM 是JAVA程式唯一認識的作業系統,其可執行檔案為.class檔案,
- 了解 JAVA程式如何與JVM通信
- 了解JVM如何管理JAVA程式物件
Web 容器 是Servlet/JSP唯一認識的HTTP服務器,
- 了解兩者是如何通信的
- 了解容器是如何管理Servlet/JSP物件的
什么是容器
容器是用來持有、保存物件的集合(Collection)物件,
Servlet/JSP的容器概念更廣,不僅持有物件還負責物件的生命周期和相關服務的連接,
-
具體層面,Servlet/JSP 的 Web 容器是JAVA寫的程式,該容器負責將HTTP文字性的通信協議變成Servlet/JSP中可用的JAVA物件(剖析和轉換的程序)
-
抽象層面,Web 容器可以視為 HTTP服務器,Servlet/JSP撰寫時需要符合Web容器的標準規范,
請求、回應程序

一個請求一個執行緒
Web容器運行在JVM上,當一個請求來到時,會為每個請求分配一個執行緒,當多個請求之下,會導致多個執行緒同時共享存取一個物件,發生資料競爭,因此要注意執行緒安全的問題,
關于記憶體訪問同步可參考:我的Go并發之旅、01 并發哲學與并發原語 - 小能日記 - 博客園 (cnblogs.com)
Servlet類

- 必須繼承 HttpServlet
- 輸出HTML時必須通過JAVA的輸入輸出功能,
事實上,Servlet主要是用來定義Java程式邏輯的,應該避免直接在Servlet產生畫面輸出,比如直接撰寫HTML,應當適當分配JSP與Servlet的職責,
JSP網頁最后會被轉譯成Servlet類然后編譯并加載到容器中!
MVC
MVC 是 Model、View、Controller 的縮寫,分別是模型、視圖、控制器,分別代表應用程式中三種職責各不相同的物件,


MODEL 2

MVVM
MVVM是前端視圖層的分層思想,主要把每個頁面,分成了M、V和VM,其中,VM是MVVM思想的核心;因為VM是M和V之間的調度者,M保存的是每個頁面中單獨的資料,V就是每個頁面中的HTML結構,VM它是一個調度者,分割了M和V,每當V層想要獲取保存資料的時候,都要由VM做中間處理,前端頁面中使用MVVM思想,主要是為了讓我們開發更佳方便,因為MVVM提供了資料的雙向系結,雙向系結是由VM提供的,

MVVM是Model-View-ViewModel的縮寫,MVVM是一種設計思想,Model 層代表資料模型,也可以在Model中定義資料修改和操作的業務邏輯;View 代表UI 組件,它負責將資料模型轉化成UI 展現出來,ViewModel 是一個同步View 和 Model的物件,在MVVM架構下,View 和 Model 之間并沒有直接的聯系,而是通過ViewModel進行互動,Model 和 View 之間的互動是雙向的, 因此View 資料的變化會同步到Model中,而Model 資料的變化也會立即反應到View 上,ViewModel 通過雙向資料系結把 View 層和 Model 層連接了起來,而View 和 Model 之間的同步作業完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作DOM, 不需要關注資料狀態的同步問題,復雜的資料狀態維護完全由 MVVM 來統一管理
MVC跟MVVM區別
mvvm和mvc區別?它和其它框架(jquery)的區別是什么?哪些場景適合?
mvc和mvvm其實區別并不大,都是一種設計思想,主要就是mvc中Controller演變成mvvm中的viewModel,mvvm主要解決了mvc中大量的DOM 操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗,例如:vue資料驅動,通過資料來顯示視圖層而不是節點操作,場景:資料操作比較多的場景,更加便捷,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/509110.html
標籤:其他
上一篇:Python 代碼智能感知 —— 型別標注與特殊的注釋(獻給所有的Python人)
下一篇:Java中的Optional
