1. 程式人生 > >WEB開發中常用的協議和標準

WEB開發中常用的協議和標準

DNS協議

1、DNS協議的作用是將域名解析為IP,網路上的每個站點的位置是用IP來確定的,訪問一個網站首先就要知道它的IP,不過資料組成的IP記起來不方便,所以就使用域名來代替IP,由於IP和域名的對應關係經常變化,所以就需要有專門將域名解析為IP的伺服器,我們稱為:DNS伺服器。把域名發給DNS伺服器,它就返回相應的IP。在window中可以使用nslookup 或者ping 的命令檢視DNS解析後的IP。

2、世界各地有很多DNS伺服器,ISP(Internat服務提供商)會提供給我們預設的DNS伺服器。

TCP/IP協議

1、TCP和IP協議,通常會把他們放在一起,其實他們是不同的兩種協議,作用也不一樣。

2、IP協議:是用來查詢地址,對應網際互聯層,TCP協議:是用來規範傳輸規則的,對應的傳輸層。IP只負責找到地址,具體怎麼傳輸是由TCP來完成。類似送快遞,貨單上填寫的地址以及怎麼根據填寫的地址找到客戶,這相當於IP協議的功能。而具體怎麼將貨物送過去,最後讓客戶簽收簽字就相當於TCP協議。

3、TCP傳輸前會進行三次溝通,我們稱為"三次握手",傳完資料斷開的時候進行四次溝通,我們稱為"四次揮手"。

4、TCP的兩個序號和三個標誌位的含義:

4.1、seq:sequence number的縮寫,表示所傳資料的序號。TCP傳輸時的每一個位元組都有一個序號,傳送資料時會將資料的第一個序號傳送給對方,接收方會根據序號check是否接收完整,不完整則會重新傳送。保證了資料的完整性。

4.2、ack:acknoledgement number縮寫,表示確認號。接收方用來給傳送方反饋是否成功接收到資料資訊,它的值為希望接收的下一個資料包的起始序號

4.3、ACK:確認位,只有ACK=1的時候ack才起作用,正常通訊時ACK=1,第一次發起請求時,因為沒有需要確認接收的資料所以ACK為0。

4.4、SYN:同步位,用於在建立連線時同步序號,剛開始建立連線時並沒有歷史接收的資料,所以ack也就沒辦法設定。SYN的作用就是,當接收端接收到SYN=1的報文時就會將ack設定位接收到的seq+1的值。SYN會在前兩次握手時都為1,是因為通訊的雙方的ack都需要設定一個初始值;

4.5、FIN:終止位,用來在資料傳輸完畢後釋放連線。


HTTP協議

1、HTTP協議是應用層的協議,在TCP/IP歇息接受到資料後需要通過HTTP歇息來解析後才能使用。

2、HTTP中報文很重要,報文分請求報文和響應報文兩種型別,這兩種型別都包括三部分:首行,頭部,主體。請求報文的首行是請求行,包括方法(請求型別),URL和HTTP版本三項內容,響應請求的首行是狀態行,包括HTTP版本,狀態碼,剪短原因其中原因可有可無。頭部儲存一些鍵值對的屬性,用冒號分割。主體儲存具體內容,請求報文中主要儲存Post型別的引數,響應報文中儲存頁面要顯示的結果。

3、請求報文中的方法有:GET、HEAD、POST、PUT、DELETE等

4、響應報文常見狀態碼:

4.1、1XX:資訊性狀態碼。

4.2、2XX:成功狀態碼。如:200表示成功。

4.3、3XX:重定向狀態碼。如:301表示發生重定向。

4.4、4XX:客戶端錯誤狀態碼:如:404表示沒有找到請求的資源。

4.5、5XX:服務端錯誤狀態碼:如:500表示系統內部錯誤。

Servlet和JAVA WEB開發

通過TCP/IP協議和HTTP協議可以得到資料,Servlet的作用是對接受到的資料進行處理並生成要返回給客戶端的介面。Servlet指定了java處理WEB請求的標準和規範,我們只需按照標準去做就OK了。但規範自己是不能幹活的,所以要想使用Servlet需要有相應的Servlet容器,常見的Tomcat就是一個Servlet容器。