當前位置:首頁 » 網頁前端 » web線程優化筆記
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web線程優化筆記

發布時間: 2023-03-05 10:17:55

『壹』 學習web前端開發,需要掌握哪些知識

第一階段:HTML+CSS/HTML5+CSS3(HTML+CSS、PC端網頁重構、HTML5+CSS3)

第二階段: Javascript(JS數據類型、語法、JS對象、JS內置對象、BOMDOM)

第三階段:Javascript高級/ Ajax/JQ(AJAX、瀏覽器緩存、JS對象高級、ES6、JQuery)

第四階段:前端主流框架(前端工程化、AugularJS、VueJS、React Native、微信小程序)

『貳』 web前端開發需要掌握哪些知識

1.學習html。
這是最簡單最基本的。掌握div、formtable、ulli、p、span、font等標簽是最常用的,尤其是div和table,div用於布局,table也可以用於布局,但不靈活,基本table用於處理數據。
2.學習css。
這里的css不包括css3。一般我們可以看到,在web前端開發工程師的要求中,有一個會使用css+html或css+div進行界面布局,所以css是用來輔助html進行布局和顯示的。css要熟練掌握float、position、width、height、最大最小,會使用100%、overflow、margin、pading等。
3.學習js。
其實js入門很簡單,不需要知道很多事情。只要你會根據某個id或者name獲得網頁dom或者樣式或者值,你就會給某個id或者name的元素標簽賦值,或者添加數據,追html。
4.學習jquery。
jquery相當於將js封裝成一套js插件,目的是操作起來更方便,代碼寫得更少,jquery入門也很簡單,那些入門需要學習的和js一樣,只是用jq代碼代碼代替。
5. 最好點擊後台語言,如java和php。
為什麼?因為我們前台界面的數據來自後台,如果我們能點擊後台代碼,我們就知道如何與後台交互數據是最好的,這樣可以節省時間,使前端代碼更加標准化。
6.學習css3+html5。

『叄』 第五章:Web伺服器

5.1各種形狀和尺寸的Web伺服器
Web伺服器會對HTTP請求進行處理並提供響應。術語「Web伺服器」可以用來表示Web伺服器的軟體,也可以用來表示提供Web頁面的特定設備或計算機。
Web伺服器有著不同的風格、形狀和尺寸。有普通的10行Perl腳本的Web伺服器、50MB的安全商用引擎以及極小的卡上伺服器。但不管功能有何差異,所有的 Web伺服器都能夠接收請求資源的 HTTP請求,將內容回送給客戶端(參見圖1-5)。
5.1.1Web伺服器的實現
Web伺服器實現了HTTP和相關的TCP連接處理。負責管理Web伺服器提供的資源,以及對Web伺服器的配置、控制及擴展方面的管理。
Web伺服器邏輯實現了HTTP 協議、管理著Web資源,並負責提供Web伺服器的管理功能。Web伺服器邏輯和操作系統共同負責管理TCP連接。底層操作系統負責管理底層計算機系統的硬體細節,並提供了TCP/IP網路支持、負責裝載Web資源的文件系統以及控制當前計算活動的進程管理功能。

5.3實際的Web伺服器會做些什麼
例5-1顯示的 Perl伺服器是一個Web伺服器的小例子。最先進的商用Web伺服器要比它復雜得多,但它們確實執行了幾項同樣的任務,如圖5-3所示。
(1)建立連接一—接受一個客戶端連接,或者如果不希望與這個客戶端建立連接,就
將其關閉。
(2)接收請求——從網路中讀取一條HTTP請求報文。(3)處理請求——對請求報文進行解釋,並採取行動。(4)訪問資源-———訪問報文中指定的資源。
(5)構建響應——創建帶有正確首部的 HTTP響應報文。(6)發送響應——將響應回送給客戶端。
(7)記錄事務處理過程—-將與已完成事務有關的內容記錄在一個日誌文件中。

5.4第一步——接受客戶端連接
如果客戶端已經打開了一條到伺服器的持久連接,可以使用那條連接來發送它的請求。否則,客戶端需要打開一條新的到伺服器的連接(回顧第4章,復習一下HTTP的連接管理技術)。

5.4.1處理新連接
客戶端請求一條到Web伺服器的TCP連接時,Web伺服器會建立連接,判斷連接的另一端是哪個客戶端,從TCP連接中將IP地址解析出來。'一旦新連接建立起來
並被接受,伺服器就會將新連接添加到其現存Web伺服器連接列表中,做好監視連接上數據傳輸的准備。
Web伺服器可以隨意拒絕或立即關閉任意一條連接。有些Web伺服器會因為客戶端IP地址或主機名是未認證的,或者因為它是已知的惡意客戶端而關閉連接。Web伺服器也可以使用其他識別技術。

5.4.2客戶端主機名識別
可以用「反向 DNS」對大部分Web伺服器進行配置,以便將客戶端IP地址轉換成客戶端主機名。Web伺服器可以將客戶端主機名用於詳細的訪問控制和日誌記錄。但要注意的是,主機名查找可能會花費很長時間,這樣會降低Web事務處理的速度。很多大容量Web伺服器要麼會禁止主機名解析,要麼只允許對特定內容進行解析。
可以用配置指令HostnameLookups啟用Apache的主機查找功能。比如,例5-2中的Apache配置指令就只打開了HTML和CGI資源的主機名解析功能。
例5-2配置Apache,為 HTML和CGI資源查找主機名
HostnameLookups off
<Files ~" - 《html |htmlcgi)$">
HostnameLookups on
</Files>

5.5第二步—接收請求報文
連接上有數據到達時,Web伺服器會從網路連接中讀取數據,並將請求報文中的內容解析出來(參見圖5-5)。
解析請求報文時,Web伺服器會:
·解析請求行,查找請求方法、指定的資源標識符(URI)以及版本號,3各項之
間由一個空格分隔,並以一個回車換行(CRLF)序列作為行的結束,「
·讀取以CRLF結尾的報文首部;
檢測到以CRLF結尾的、標識首部結束的空行(如果有的話)﹔
·如果有的話(長度由content-Length首部指定),讀取請求主體。

解析請求報文時,Web伺服器會不定期地從網路上接收輸入數據。網路連接可能隨時都會出現延遲。Web伺服器需要從網路中讀取數據,將部分報文數據臨時存儲在內存中,直到收到足以進行解析的數據並理解其意義為止。
5.5.1 報文的內部表示法
有些Web伺服器還會用便於進行報文操作的內部數據結構來存儲請求報文。比如,數據結構中可能包含有指向請求報文中各個片段的指針及其長度,這樣就可以將這些首部存放在一個快速查詢表中,以便快速訪問特定首部的具體值了(參見圖5-6)。

5.5.2連接的輸入/輸出處理結構
高性能的 Web伺服器能夠同時支持數千條連接。這些連接使得伺服器可以與世界各地的客戶端進行通信,每個客戶端都向伺服器打開了一條或多條連接。某些連接可能在快速地向Web伺服器發送請求,而其他一些連接則可能在慢慢發送,或者不經常發送請求,還有一些可能是空閑的,安靜地等待著將來可能出現的動作。
因為請求可能會在任意時刻到達,所以Web伺服器會不停地觀察有無新的Web請求。不同的Web伺服器結構會以不同的方式為請求服務,如圖5-7所示。
·單線程Web伺服器(參見圖5-7a)
單線程的Web伺服器一次只處理一個請求,直到其完成為止。一個事務處理結束之後,才去處理下一條連接。這種結構易於實現,但在處理過程中,所有其他連接都會被忽略。這樣會造成嚴重的性能問題,只適用於低負荷的伺服器,以及type-o-serve這樣的診斷工具。
·多進程及多線程Web伺服器(參見圖5-7b)
多進程和多線程Web伺服器用多個進程,或更高效的線程同時對請求進行處理。3可以根據需要創建,或者預先創建一些線程/進程。°有些伺服器會為每條連接分配一個線程/進程,但當伺服器同時要處理成百、上千,甚至數以萬計的連接時,需要的進程或線程數量可能會消耗太多的內存或系統資源。因此,很多多線程Web伺服器都會對線程/進程的最大數量進行限制。
·復用I/O的伺服器(參見圖5-7c)
為了支持大量的連接,很多Web伺服器都採用了復用結構。在復用結構中,要同時監視所有連接上的活動。當連接的狀態發生變化時(比如,有數據可用,或出現錯誤時),就對那條連接進行少量的處理,處理結束之後,將連接返回到開放連接列表中,等待下一次狀態變化。只有在有事情可做時才會對連接進行處理,在空閑連接上等待的時候並不會綁定線程和進程。
·復用的多線程Web伺服器(參見圖5-7d)
有些系統會將多線程和復用功能結合在一起,以利用計算機平台上的多個CPU.多個線程(通常是一個物理處理器)中的每一個都在觀察打開的連接(或打開的連接中的一個子集),並對每條連接執行少量的任務。

5.6第三步———處理請求
一旦Web伺服器收到了請求,就可以根據方法、資源、首部和可選的主體部分來對請求進行處理了。
有些方法(比如POST)要求請求報文中必須帶有實體主體部分的數據。其他一些方法(比如OPTIONS)允許有請求的主體部分,也允許沒有。少數方法(比如GET)禁止在請求報文中包含實體的主體數據。
這里我們並不對請求的具體處理方式進行討論,因為本書其餘大多數章節都在討論這個問題。

5.7第四步——-對資源的映射及訪問
Web 伺服器是資源伺服器。它們負責發送預先創建好的內容,比如HTML頁面或JPEG 圖片,以及運行在伺服器上的資源生成程序所產生的動態內容。

5.7.1 docroot
Web伺服器支持各種不同類型的資源映射,但最簡單的資源映射形式就是用請求URI作為名字來訪問Web伺服器文件系統中的文件。通常,Web伺服器的文件系統中會有一個特殊的文件夾專門用於存放Web內容。這個文件夾被稱為文檔的根目錄(document root,或docroot)。Web伺服器從請求報文中獲取URI,並將其附加在文檔根目錄的後面。
在圖5-8中,有一條對/specials/saw-blade.gif 的請求到達。這個例子中Web伺服器的文檔根目錄為/us/local/httpd/files。Web伺服器會返迴文件/usr/local/httpd/files/specials/saw-blade.gif。

在配置文件httpd.conf中添加一個 DocumentRoot行就可以為Apache Web伺服器設置文檔的根目錄了:
DocumentRoot /usr/ local/httpd/files
伺服器要注意,不能讓相對URL退到docroot之外,將文件系統的其餘部分暴露出來。比如,大多數成熟的Web伺服器都不允許這樣的URI看到Joe的五金商店文檔根目錄上一級的文件:
http://www.joes-hardware.com/ ..

5.8.3重定向
Web伺服器有時會返回重定向響應而不是成功的報文。Web伺服器可以將瀏覽器重定向到其他地方來執行請求。重定向響應由返回碼3XX說明。Location響應首部包含了內容的新地址或優選地址的URI。重定向可用於下列情況。
·永久刪除的資源
資源可能已經被移動到了新的位置,或者被重新命名,有了一個新的URL。Web伺服器可以告訴客戶端資源已經被重命名了,這樣客戶端就可以在從新地址獲取資源之前,更新書簽之類的信息了。狀態碼301 Moved Permanently就用於此類重定向。·臨時刪除的資源
如果資源被臨時移走或重命名了,伺服器可能希望將客戶端重定向到新的位置上去。但由於重命名是臨時的,所以伺服器希望客戶端將來還可以回頭去使用老的URL,不要對書簽進行更新。狀態碼303 See Other以及狀態碼307 TemporaryRedirect就用於此類重定向。

『肆』 如何使用java多線程處理web請求

WEB伺服器會幫你把每個訪問請求開辟一個線程,你只要按照你所開發的框架,比如tomcat會讓你利用servlet這個框架來寫代碼。具體真的一言難盡,反正不用寫到RUN中,除非你想對線程式控制制到極致,例如你要做測試。 多個瀏覽器的意思如果是