国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript大雜燴0

2019-11-17 01:32:58
字體:
供稿:網(wǎng)友

javaScript大雜燴0 - WEB基礎(chǔ)知識

1. 協(xié)議小結(jié):HTTP協(xié)議與TCP/IP協(xié)議

現(xiàn)代Web應(yīng)用開發(fā)的基礎(chǔ)是HTTP協(xié)議,那么HTTP協(xié)議與我們熟知的TCP/IP協(xié)議有什么關(guān)系呢?

這個要從網(wǎng)絡(luò)通信模型說起,簡單的說,計算機通信就像兩個人在互相交流,怎樣才能互相聽懂呢?很簡單,就是使用一致的語言和表達(dá)方式。

計算機之間通信的語言就是網(wǎng)絡(luò)協(xié)議。網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)上所有設(shè)備(網(wǎng)絡(luò)服務(wù)器、計算機及交換機、路由器、防火墻等)之間通信規(guī)則的集合,它規(guī)定了通信時信息必須采用的格式和這些格式的意義。大多數(shù)網(wǎng)絡(luò)都采用分層的體系結(jié)構(gòu),比如傳統(tǒng)的開放式系統(tǒng)互連參考模型(OSI)中,定義了7個層次的模型,從底到上依次為:物理層,數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層,傳輸層,會話層,表示層,應(yīng)用層。每一層都建立在它的下層之上,向它的上一層提供一定的服務(wù),而把如何實現(xiàn)這一服務(wù)的細(xì)節(jié)對上一層加以屏蔽。一臺設(shè)備上的第 n層與另一臺設(shè)備上的第n層進(jìn)行通信的規(guī)則就是第n層協(xié)議。在網(wǎng)絡(luò)的各層中存在著許多協(xié)議,接收方和發(fā)送方同層的協(xié)議必須一致,否則一方將無法識別另一方發(fā)出的信息。網(wǎng)絡(luò)協(xié)議使網(wǎng)絡(luò)上各種設(shè)備能夠相互交換信息。常見的協(xié)議有:TCP/IP協(xié)議、IPX/SPX協(xié)議、NetBEUI協(xié)議等。

常見的3種協(xié)議各有不同特點,也就導(dǎo)致了有不同的適用范圍。最適合使用在Internet上的就是TCP/IP 協(xié)議。該協(xié)議系統(tǒng)并沒有使用傳統(tǒng)的7層,而是提出了簡化的4層模型,從底到上依次為:網(wǎng)絡(luò)接口層,網(wǎng)絡(luò)層,傳輸層,應(yīng)用層。同樣的,只有為每一層定義好交流的協(xié)議,網(wǎng)絡(luò)中的計算機之間才能互相通信。例如:網(wǎng)絡(luò)層的IP協(xié)義,傳輸層的FTP,UDP,TCP協(xié)議等,應(yīng)用層的HTTP,SMTP,POP3,F(xiàn)TP,TELNET等協(xié)議。

HTTP協(xié)議是一個叫超文本傳輸協(xié)議的應(yīng)用層協(xié)議,是提供網(wǎng)頁服務(wù)的協(xié)議。沒有HTTP 協(xié)議是不能瀏覽網(wǎng)頁的,但是其他的像郵件服務(wù)(只要協(xié)議在)都還是正常的。

2. 請求過程:HTTP請求

我們在瀏覽器中訪問網(wǎng)站,與服務(wù)器進(jìn)行交互都是通過HTTP請求發(fā)出的。當(dāng)你點擊一個連接時,瀏覽器首先找到站點的IP地址(通過DNS來實現(xiàn))。在找到IP地址后建立TCP連接,連接建立后我們就可以發(fā)送請求了。每個交互都會轉(zhuǎn)化成相應(yīng)的HTTP請求,最常用的如GET(第一次請求頁面),HEAD,POST(附帶參數(shù),請求頁面),PUT等等。轉(zhuǎn)化后的HTTP請求是有一定格式的,這個有興趣的可以參考相應(yīng)的HTTP請求格式說明。

服務(wù)器處理完請求后,會返回HTTP響應(yīng)給客戶端并斷開連接,這個響應(yīng)同樣包含了很多的信息。瀏覽器收到響應(yīng)以后,解析該響應(yīng)并顯示在瀏覽器中。響應(yīng)內(nèi)容中最有用的就是響應(yīng)的狀態(tài)(數(shù)字表示,如200表示成功,404表示沒找到頁面等)和返回請求的各種文本(如頁面HTML,CSS文件,Javascript文件等等)。

3. HTML語言

瀏覽器從服務(wù)器獲得到HTML后,就負(fù)責(zé)解釋并展現(xiàn)HTML表示的內(nèi)容。HTML代表超文本標(biāo)記語言,其最初的目的就是格式化文本,方便瀏覽器解釋,并展示給客戶端。但是隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)傳輸和顯示的內(nèi)容也日漸豐富,頁面不再只包括靜態(tài)的圖片和文字,而是包括了列表,選項,交互等內(nèi)容。擴充后的HTML提供了更為豐富的標(biāo)簽。其中最突出的就是<form>表單,它是應(yīng)用程序與用戶進(jìn)行交互的前提。<form>表單提示瀏覽器,這個標(biāo)簽與</form>標(biāo)簽之間的內(nèi)容會返回給服務(wù)器。表單的數(shù)據(jù)會被“投遞”給服務(wù)器處理,這個過程就是回發(fā)。

典型的HTTP請求通常就是先進(jìn)行GET獲取,再進(jìn)行POST投遞 - 前者獲取最初的文檔,后者用于在必要的時候?qū)?shù)據(jù)返回給服務(wù)器,進(jìn)行更為復(fù)雜的計算和處理。

直接使用HTML開發(fā)無疑是很麻煩的,為了更好的完成現(xiàn)代動態(tài)Web開發(fā),不同的公司提供了不同的運行環(huán)境和開發(fā)工具,微軟提供的就是asp.net。它提供了很多集成的對象,簡化了開發(fā)的難度。但是還是有很多的問題不能很好的解決。比如HTTP是無狀態(tài)的,如何保持頁面POST前后的狀態(tài),實在是一個困難的問題。

4. Web開發(fā)思想

從上面的分析我們可以看到,歸根結(jié)底,Web開發(fā)無非是要處理兩大問題:

(1). 在無連接的HTTP協(xié)議上通過HTML管理用戶的界面

(2). 在無狀態(tài)的HTTP協(xié)議上管理應(yīng)用程序的狀態(tài)。

雖然有像ASP這樣的框架出現(xiàn)了,使得Web的開發(fā)更加簡單,但是開發(fā)者仍然要自行開發(fā)許多的“標(biāo)準(zhǔn)”功能,例如安全系統(tǒng),管理UI狀態(tài),數(shù)據(jù)訪問等等。所有這一切促使了更高級,更智能的像ASP.NET這樣的編程框架的產(chǎn)生。

了解了這個基本問題,以及讓開發(fā)者開發(fā)更快速,更簡單這樣最直接的目的,我們可以想象,具體的開發(fā)框架必定會繼續(xù)向前發(fā)展,不斷推陳出新,并提供更加完整,更加智能的功能。

當(dāng)然了,HTML5中WebSocket的出現(xiàn)已經(jīng)引發(fā)了有連接的狀態(tài),這個在前面的文章中已經(jīng)提及了,就不多說了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贡觉县| 彩票| 隆化县| 方山县| 安龙县| 阿合奇县| 临颍县| 贺州市| 克山县| 玉树县| 安丘市| 吉隆县| 延吉市| 江北区| 城固县| 宁波市| 当阳市| 岳西县| 炎陵县| 大化| 肇庆市| 安吉县| 峨眉山市| 昭通市| 古丈县| 漳州市| 青河县| 砚山县| 察雅县| 邛崃市| 滁州市| 葫芦岛市| 宝丰县| 贵溪市| 定远县| 得荣县| 家居| 五大连池市| 淅川县| 罗山县| 蒙城县|