寫在前面的話,懶惰和拖沓是學(xué)習(xí)是最大的敵人,平時(shí)規(guī)劃的很好實(shí)施的時(shí)候總想推脫葫男;之前主要了解的網(wǎng)路協(xié)議是http,隨著課程的深入逐步對(duì)整個(gè)網(wǎng)絡(luò)構(gòu)架有框架式的概念(姑且叫框架吧崔列,不知道這么叫對(duì)不對(duì))梢褐。
網(wǎng)絡(luò)協(xié)議是計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、一組標(biāo)準(zhǔn)或一系列約定的集合赵讯;網(wǎng)絡(luò)協(xié)議是由三個(gè)要素組成:
(1)語義:語義是解釋控制信息每個(gè)部分的意義盈咳。它規(guī)定了需要發(fā)出何種控制信息,以及完成的動(dòng)作與做出什么樣的響應(yīng)也就是要做什么瘦癌。
(2)語法:語法是用戶數(shù)據(jù)與控制信息的結(jié)構(gòu)與格式猪贪,以及數(shù)據(jù)出現(xiàn)的順序;這里是要怎么做的意思讯私。
(3)時(shí)序:時(shí)序是對(duì)事件發(fā)生順序的詳細(xì)說明热押。
實(shí)際上網(wǎng)絡(luò)協(xié)議還要包括物理設(shè)備加軟件來組合完成信息通信,如筆記本電腦斤寇、交換機(jī)桶癣、路由器等;國(guó)際標(biāo)準(zhǔn)化組織(ISO)七層模型:物理層(Physics Layer)娘锁、數(shù)據(jù)鏈路層(Data Link Layer)牙寞、網(wǎng)絡(luò)層(Network Layer)、傳輸層(Transport Layer)莫秆、會(huì)話層(Session Layer)间雀、表示層(Presentation Layer)、應(yīng)用層(Application Layer)镊屎。TCP/IP的四層模型:應(yīng)用層惹挟、傳輸層、網(wǎng)絡(luò)層缝驳、物理層连锯。之所以帶上英文是為了以后混個(gè)臉熟归苍。
互聯(lián)網(wǎng)行業(yè),主要使用http及https協(xié)議运怖,這是web的基礎(chǔ)拼弃;目前使用的HTTP1.1近二十年之久,后面的HTTP-NG(HTTP2.0)已停止研發(fā)摇展。HTTP是客戶端向服務(wù)器端發(fā)送請(qǐng)求和服務(wù)器應(yīng)答的標(biāo)準(zhǔn)吻氧;HTTP協(xié)議即超文本傳輸協(xié)議類似于ppt上的超鏈接,是用于從WWW(萬維網(wǎng))服務(wù)器傳輸超文本到本地瀏覽器的協(xié)議吗购。它是依靠URL從服務(wù)器獲取資源到本地組裝瀏覽器網(wǎng)頁医男,URL也叫統(tǒng)一資源定位符,類似于郵政系統(tǒng)的層層編號(hào)捻勉《扑螅客戶端向服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法踱启、URL报账、協(xié)議版本、請(qǐng)求修飾符埠偿、客戶信息和內(nèi)容且有自己固定格式透罢。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),響應(yīng)的內(nèi)容包括消息協(xié)議的版本冠蒋,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息羽圃、實(shí)體元信息以及可能的實(shí)體內(nèi)容。HTTP消息頭包括通用頭抖剿、請(qǐng)求頭朽寞、響應(yīng)頭、實(shí)體頭四個(gè)部分組成斩郎;每個(gè)頭域由一個(gè)域名脑融、冒號(hào)(:)和域值三部分組成。域名跟大小寫無關(guān)的缩宜,域值前可以添加任何數(shù)量的空格符肘迎,頭域可以被擴(kuò)展為多行,在每行開始處锻煌,使用至少一個(gè)空格或制表符妓布;但是在傳輸過程中空格和換行會(huì)占用資源不利于協(xié)議性能。
HTTP協(xié)議的客戶/服務(wù)器模式的信息交換過程宋梧,它分四個(gè)過程:1通過三次握手建立連接匣沼、2客戶端發(fā)送請(qǐng)求信息(get)、3服務(wù)器端發(fā)送響應(yīng)信息(post)乃秀、4再通過四次揮手關(guān)閉連接肛著。URL獲取資源是通過SQL來實(shí)現(xiàn)的;URL由三部分組成:所用協(xié)議://用戶域名:端口號(hào)/文件目錄層級(jí)?參數(shù)=參數(shù)值結(jié)束標(biāo)志。http://blog.csdn.net/mindfloating/article/details/39474123——這個(gè)URL是直接指向某一頁面資源意思,這樣用法是rest跺讯;http://hotels.lvmama.com/book/hotel/hotelReservation.do?goods=1706071&visitTime=2017-09-22&goodsPrice=500&leaveTime=2017-09-23&quantity=1——這一URL問號(hào)(枢贿?)后面是參數(shù)查詢頁面所需要的資源。
鑒權(quán)(authentication)是指驗(yàn)證用戶是否擁有訪問系統(tǒng)的權(quán)利刀脏;對(duì)該用戶使用服務(wù)器數(shù)據(jù)業(yè)務(wù)的合法性和有效性或者狀態(tài)是否為激活狀態(tài)進(jìn)行檢查局荚。cookie是保存在客戶端的數(shù)據(jù)發(fā)生在瀏覽web之后;session是保存在服務(wù)器端的數(shù)據(jù)要同合法驗(yàn)證通過后才能調(diào)取資源愈污。
PUT請(qǐng)求可以用來通過URL創(chuàng)建或者更新資源的耀态;與之相反的是PUT請(qǐng)求可以用來通過URL創(chuàng)建或者更新資源;webService三要素
SOAP暂雹、WSDL首装、UDDI;soap用來描述傳遞信息的格式杭跪、 wsdl 用來描述如何訪問具體的接口仙逻、 uddi用來管理和分發(fā)一級(jí)查詢webService 。soap描述消息中的內(nèi)容是什么涧尿,是誰發(fā)送的系奉,誰應(yīng)當(dāng)接受并處理它以及如何處理它們,一條 soap 消息就是一個(gè)普通的 XML 文檔姑廉;在RPC中soap也可以應(yīng)用缺亮。
RPC協(xié)議(遠(yuǎn)程過程調(diào)用協(xié)議)是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù);RPC 調(diào)用分為兩種異步調(diào)用和同步調(diào)用桥言,RPC同步調(diào)用是等待服務(wù)器返回結(jié)果萌踱,RPC異步調(diào)用是不等待服務(wù)器返回結(jié)果;RPC組件調(diào)用有以下步驟:
1.調(diào)用客戶端RPC,執(zhí)行傳送參數(shù)限书;2.調(diào)用本地系統(tǒng)內(nèi)核發(fā)送網(wǎng)絡(luò)消息虫蝶;3.消息傳送到遠(yuǎn)程主機(jī);4.服務(wù)器得到消息并取得參數(shù)倦西;
5.執(zhí)行遠(yuǎn)程過程能真;6.執(zhí)行的過程將結(jié)果返回服務(wù)器句柄;7.服務(wù)器返回結(jié)果扰柠,調(diào)用遠(yuǎn)程系統(tǒng)內(nèi)核粉铐;8.消息傳回本地主機(jī);
9.客戶由內(nèi)核接收消息卤档;10.客戶接收返回的數(shù)據(jù)蝙泼;
RPC 實(shí)現(xiàn)步驟:1導(dǎo)出遠(yuǎn)程接口,為什么要導(dǎo)出還不清楚劝枣;2導(dǎo)入遠(yuǎn)程接口與客戶端代理汤踏;3協(xié)議編解碼啄枕;4傳輸服務(wù);5執(zhí)行調(diào)用诱篷。
RPC 異常處理:網(wǎng)絡(luò)原因哗脖、本地調(diào)用異常橱夭、超出范圍的異常、RPC的資源消耗呈础。
HTTP狀態(tài)碼:1xx是信息需要繼續(xù)發(fā)送請(qǐng)求橱健,100開頭的只有兩個(gè)100和101而钞;2xx是通信成功,只是一個(gè)狀態(tài)拘荡,一般看到最多的就是200;3xx是重定向珊皿,這里要盡量避免也是會(huì)影響性能的网缝,重定向是少了正斜杠蟋定;4xx開頭客戶端錯(cuò)誤驶兜,一般常見的有400和404 Not Found扼仲;5xx是服務(wù)器錯(cuò)誤,一般常見的有500抄淑,500開頭的基本上就是bugl了屠凶;深入學(xué)習(xí)之后發(fā)現(xiàn)每種協(xié)議都很復(fù)雜需要花時(shí)間去熟悉去記憶,學(xué)習(xí)進(jìn)度好慢批評(píng)一下自己肆资。