標籤:blog http java strong 檔案 os
1. MIME(Multipurpose Internet Mail Extension,多用途互連網郵件擴充)
它是SMTP能夠傳輸非文字格式設定檔案的根源,將他引入到HTTP,那麼HTTP也可以傳輸圖片聲音等非文字格式設定的檔案,所以他也是HTTP可以傳輸非文字格式設定檔案的根源。
將非文本資料在傳輸資料前重新編碼為文字格式設定,接收方能夠用相反的方式將其重新還原為原來的格式,還能夠用相應的程式來開啟。
2.flash,Applet(Java中),
Flash也是一種變成語言。可以有動態網頁。
3.動態網頁
伺服器端儲存的文檔非HTML格式,而是程式設計語言開發的指令碼。將Browser的參數傳遞給指令碼,在伺服器上執行一下,運行完成之後會產生html文檔,這是臨時產生的,並且將產生的文檔發送給Browser。
4.php
.php不是一種純文字檔案,它是web伺服器是web伺服器根據一種協議運行.php檔案產生html檔案,發送給Browser。
5.緩衝
http1.0引入了緩衝了概念。簡單來說就是用於儲存之前瀏覽過的資訊,比如說前進後退讀取頁面的速度很快,其實就是從緩衝中讀取的。將好多的內容直接緩衝在本地中。重新整理,是不管本地有沒有緩衝都會重新讀取。所以不要沒事別去重新整理,那會增加你的流量。當然,你要是訪問了不可見人的網站還是要清理一下的。
6.訪問web的流程
將URL解析成IP(通過DNS伺服器),這樣就相當於在Browser中輸入了IP。這樣才繼續向web伺服器發送請求。伺服器監聽在某個連接埠。
7. http報文+TCP頭+IP資料包包頭。這裡說一下http報文
http報文分為:請求報文、響應報文。
請求報文包括方法method、主機host、version、connection、head、body等等;
響應報文包括version、status狀態代碼(1**純資訊、2**成功、3**重新導向、4**用戶端錯誤資訊404表示請求了一個不存在的檔案、5**伺服器端錯誤資訊)、reason-phrase(解釋用)、headers、entity-body。
8.一個原生態的web伺服器是不會解析動態網頁的,解析是由一個特定的進程解析之後給web伺服器再發送出去。
9.長串連
每一次擷取一個資源就要四次握手斷開,再下載又要三向交握。長串連就是在擷取一個資源後不要立即斷開,但是對於訪問量很大的伺服器會不好,因為其他的進程不會一直等著。
(空閑)逾時斷開。最多隻允許擷取多少對象。
長串連對於伺服器的影響是非常大的。
10.多線程於單執行緒模式伺服器
當很多進程請求的時候,單線程就是一個一個服務。多線程就是服務進程產生與他一樣的進程,這個進程來服務一個進程,其他的請求也這樣處理,這就是多線程伺服器。
11.一個進程處理n個請求的伺服器
每個請求有自己的狀態,甚至可以向進程告知我已經獲得了自己的資來源物件。
12.多進程+每個進程可以處理多個請求的伺服器
上面的10、11、12都是講的是伺服器的處理模型。
13.資源的擷取方法HTTP METHOD
GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECTION
14.Client、Server
Client:IE、Firefox、Chrome、Opera、Safari
Server:Apache(httpd)、IIS、nginx、lighttpd、thttpd等等
應用程式伺服器(不但可以處理靜態還可以在伺服器內部處理動態請求):IIS、tomcat(Apache,開源的,JSP)、Websphere(IBM,JSP)、Weblogic(Oracle)、JBoss(RedHat)
15.Apache (A Patchy Server之前一個戲稱,後來就叫做Apache)
16.虛擬機器主機
它只有一個物理主機。虛擬機器主機的方法:基於IP的虛擬機器主機,基於連接埠的虛擬機器主機,基於網域名稱的虛擬機器主機。