DNS,TCP,IP,HTTP,socket,Servlet概念整理

來源:互聯網
上載者:User

標籤:資訊   ini   釋放   發送   action   http協議   cat   ati   重寫   

          概念整理   常見的協議雖然很容易理解,但是看了之後過一段時間不看還是容易忘,筆記如下,比較零碎,勉強供各位複習。如有錯誤歡迎指正。  DNS協議 DNS 協議的作用是將網域名稱解析為IP,網域名稱的數量非常多,網域名稱和ip的對應關係也經常變化,所以就需要專門的DNS伺服器,用來將網域名稱解析為IP。windows下,nslookup命令可以查看網域名稱解析的結果。nslookup +網址。世界各地有很多DNS伺服器,也有一些大型公用的DNS伺服器可以使用,比如Google的8.8.8.8和國內的114.114.114.114.我們直接存取的DNS伺服器叫本地DNS伺服器,它會從主DNS伺服器擷取跟我們請求網域名稱對應的ip,並且將對應關係放到緩衝中。網域名稱也有很多時候不好用,所以導航頁被需要。小程式和公眾號的導航頁有待開發。  TCP/IP協議 IP協議是用來查詢地址的,對應著網際互聯層,TCP協議是用來規範傳輸規則的,對應著傳輸層。ip負責找到地址,TCP負責具體傳輸。這是兩個不同的協議。TCP在傳輸之前會進行上次溝通,一般稱為“上次握手”,傳輸資料斷開的時候要進行四次溝通,一般稱為“四次揮手”。相關序號和標誌位:seq: sequence number的縮寫,表示所傳輸的資料的序號。ack: acknoledgement number 的縮寫,表示確認號。ACK: 確認為,只有ACK=1的時候ack才起作用。SYN: 同步位,用於建立串連時同步序號。FIN: 終止位,用來在資料轉送完畢後釋放串連。用於傳輸層的協議還有UDP,UDP是不需連線的,TCP溝通好後才會傳輸資料,UDP拿到地址立即傳輸。TCP可靠,但是效率低;UDP效率高常用於視頻,語音等對完整性要求不高的的資源。協議只是一套規則,並不能具體工作,就像程式的介面一樣;而socket是TCP/IP協議的一個具體實現。  HTTP協議 Http是應用程式層的協議,TCP/IP協議接收資料之後需要通過Http協議來解析才可以使用。發送電報過程中的編碼和解碼過程就相當於網路傳輸中的HTTP協議。  HTTP協議中的報文結構:  1,請求報文  方法  URL  http版本  \r\n  參數1:值  參數2:值  ,,,,  主體  2,相應報文  http版本  狀態代碼  簡短原因\r\n  參數1:值  參數2:值  ,,,,  主體  Response中的狀態代碼:  1XX: 資訊性狀態代碼。  2XX: 成功狀態代碼。200  3XX: 重新導向狀態代碼。301表示重新導向。  4XX: 用戶端錯誤狀態代碼。404  5XX: 服務端錯誤狀態代碼。500表示內部錯誤。     Socket,Servlet與JavaWeb   Servlet是j2ee標準的一部分,是javaweb的開發標準。Servlet的作用是對接收到的資料進行處理並產生要返回給用戶端的結果。Servlet是對接收到的資料進行處理並產生要返回給用戶端的結果,Servlet制定了Java中處理Web請求的標準,我們需要按照標準去做,規範、標準自己是不幹活的;要想使用Servlet需要有相應的Servlet容器才行,例如常見的Tomca就是一個Servlet容器t。 1,socket:是TCP/IP協議的一個具體實現。Java中的網路通訊即是通過Socket實現的,  Socket分為兩大類,ServerSocket和Socket,ServerSocket用於服務端 ,通過accept方法監聽請求,監聽到請求後返回socket,socket用於具體完成資料轉送,用戶端直接使用socket發起請求並傳輸資料。此外,jdk1.4開始,java增加新的IO模式:nio,(New io),極大的提高了io效率,socket也屬於IO的一種,Nio提供相應的工具:ServerSocketChannel和socketChannel。分別對應原來的ServerSocket和Socket。Nio:Buffer(資料),Channel(通道),Selector(分揀員);後兩者多對多的關係。P29有處理過程。 2,HTTP協議是應用程式層的的協議,TCP/IP協議接收到資料之後,通過http協議解析之後才能使用,類似於電報中的編碼和解碼。 3,Servlet是J2EE標準的一部分,Server+Applet:表示一個伺服器應用  其作用是對接收到的資料進行處理,並產生要返回給用戶端的結果,Servlet制定了Java中處理web請求的標準,標準自己時不幹活的,所以想要使用Servlet需要有相應的Servlet容器才行,比如我們常見的Tomcat就是一個Servlet;getServletContext方法的傳回值ServletContext代表的呃使我們這個應用本身。參數選擇儲存到Application中時,大多數就是儲存在了ServletContext中(其為Application級的,而ServletConfig是Servlet級的)。Servlet介面中的方法,init方法在容器啟東市被容器調用,getServletConfig用於擷取ServletConfig,service方法用於具體處理一個請求;getServletInfo方法可以擷取一些Servlet相關的資訊,如作者等。GenericServlet是Servlet的預設實現,1,實現ServletConfig介面,2,提供無參init方法,3,提供log方法。Httpservlet,是用HTTP協議實現的Servlet的基類,寫Servlet時直接繼承它就可以(DispatchServlet)。Httpservlet主要重寫了Service方法。在Service方法中首先將ServletRequest和ServletResponse轉換為HttpServletRequest和httpServletResponse。然後根據http請求的不同將請求路由到不同的處理方法。doGet,doPost,doDelete等。HttpServlet,主要將不同的請求方式路由到不同的處理方法,而SpringMVC又將所有的請求合并到了統一的一個方法進行處理。  -----名白參考資料:《SpringMVC in Action Source Code and Practice》--韓路彪http://www.cnblogs.com/mingbai/p/WebConceptions.html

DNS,TCP,IP,HTTP,socket,Servlet概念整理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.