一:協(xié)議協(xié)議這個詞好高端的感覺,說白了就是計算機(jī)笨,不知道怎么斷句,而協(xié)議就是告訴計算機(jī)怎么斷句來獲取對應(yīng)的數(shù)據(jù). 既然是協(xié)議就是雙發(fā)的交互,請求方按照格式填寫信息,給與合理的斷句,例如空格 回車等,接收方按照空格 或回車來進(jìn)行斷句,以此來接收數(shù)據(jù),雙方達(dá)成的一種默契,所以起個高端名詞-------協(xié)議. Http協(xié)議(Hypertext Transfer Protocol,超文本傳輸協(xié)議) 瀏覽器和服務(wù)器之間交流的協(xié)議,是應(yīng)用層協(xié)議,說道應(yīng)用層就要談到OSI七層協(xié)議,搞網(wǎng)絡(luò)的要明確著七層協(xié)議,作為開發(fā)知道四層就可以了,上三層合并為應(yīng)用層,最下兩層合并為物理鏈路層. 應(yīng)用層 傳輸層 網(wǎng)絡(luò)層 物理鏈路層,越往上越靠近用于,越往下越靠近硬件.
Socket編程:編程者不需要和下層的傳輸層,網(wǎng)絡(luò)層等打交道,我們面向socket編程就可以了,其他交給socket來. Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層,它是一組接口,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面,對用戶來說,一組簡單的接口就是全部,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議。 對于實(shí)際python編程來講,socket就是一個模塊,學(xué)會socket模塊就可以實(shí)現(xiàn)網(wǎng)絡(luò)通信了.
這里主講http協(xié)議,關(guān)于網(wǎng)絡(luò)編程,跳轉(zhuǎn)網(wǎng)絡(luò)編程,既然有了TCP和UDP就可以完成網(wǎng)絡(luò)通信,為什么還需要Http協(xié)議呢? 作為web應(yīng)用用戶訪問量會很大,如果來一個建立一個連接,那么連接數(shù)很快就占滿了,其他的用戶進(jìn)不來,而已經(jīng)建立完連接的,可能只是查看一下價格就完事了,但是還是占著連接,為了性能和用戶體驗(yàn),出現(xiàn)了http協(xié)議,最主要的特點(diǎn)就是無狀態(tài)協(xié)議, 主要是:1.基于TCP協(xié)議與服務(wù)器建立連接之后發(fā)送請求,然后得到響應(yīng)之后 2:服務(wù)器端立馬斷掉了連接 釋放資源,只是發(fā)送一個cookie給你的瀏覽器,瀏覽器會記錄這個cookie,server端用cookie作為key,session作為value只保存你的會話信息,常用在需要用戶名密碼登錄的場景,當(dāng)你發(fā)送其他請求的時候,request會攜帶上這個cookie,服務(wù)器看到這個cookie是否在服務(wù)器存在,如果存在把session響應(yīng)給你,如果沒有你需要重新登錄賬戶密碼才能繼續(xù)才做. 3:最重要的就是,http協(xié)議是無狀態(tài)協(xié)議,服務(wù)器不知道客戶端干了什么. 二:http協(xié)議詳解工具:firefox Chrome瀏覽器的抓包調(diào)試工具.前者中文,后者英文.
http協(xié)議,最主要的是http的請求和響應(yīng)
一個完整的http請求消息,包含一個請求行,若干個消息頭(請求頭),換行,請求體(里面放著post方式請求的數(shù)據(jù)) 空白行 響應(yīng)體:響應(yīng)包含瀏覽器能夠解析的靜態(tài)內(nèi)容,例如:html,純文本,圖片等等信息 以上是http請求消息和響應(yīng)消息的大體介紹,具體的應(yīng)用放到爬蟲里. 三:工作原理HTTP協(xié)議采用請求/響應(yīng)模式,客戶端向服務(wù)器發(fā)送一個請求報文,然后服務(wù)器響應(yīng)請求。下面介紹一下一次HTTP請求的過程: 在瀏覽器中輸入URL,并按下回車鍵 web的本質(zhì)都是上面這一套,主要就是請求響應(yīng),無論什么語言開發(fā)的web應(yīng)用 四:HTTPS簡介HTTPS是安全的HTTP通道,即在HTTP通信中加入了SSL層(當(dāng)前版本是TLS1.2),通信的數(shù)據(jù)被加密了,防止被竊取,具體的通信流程如下 HTTPS使用的加密方式結(jié)合了對稱加密和不對稱加密的特點(diǎn),在保證安全的情況下,又提高了傳輸效率。HTTP和HTTPS的區(qū)別如下: 1.https協(xié)議需要到ca申請證書,一般免費(fèi)證書很少,需要交費(fèi)。 2.http的信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議。 3.http和https用的端口不一樣,前者是80,后者是443。 4.http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全. 來源:https://www./content-4-498751.html |
|
|