免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
HTTP協(xié)議

一:協(xié)議

協(xié)議這個詞好高端的感覺,說白了就是計算機笨,不知道怎么斷句,而協(xié)議就是告訴計算機怎么斷句來獲取對應(yīng)的數(shù)據(jù).

既然是協(xié)議就是雙發(fā)的交互,請求方按照格式填寫信息,給與合理的斷句,例如空格 回車等,接收方按照空格 或回車來進行斷句,以此來接收數(shù)據(jù),雙方達成的一種默契,所以起個高端名詞-------協(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é)議。

對于實際python編程來講,socket就是一個模塊,學(xué)會socket模塊就可以實現(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īng)建立完連接的,可能只是查看一下價格就完事了,但是還是占著連接,為了性能和用戶體驗,出現(xiàn)了http協(xié)議,最主要的特點就是無狀態(tài)協(xié)議,

主要是:1.基于TCP協(xié)議與服務(wù)器建立連接之后發(fā)送請求,然后得到響應(yīng)之后

2:服務(wù)器端立馬斷掉了連接 釋放資源,只是發(fā)送一個cookie給你的瀏覽器,瀏覽器會記錄這個cookie,server端用cookie作為key,session作為value只保存你的會話信息,常用在需要用戶名密碼登錄的場景,當你發(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請求消息(就是瀏覽器丟給服務(wù)器的):


可以明顯的看出是用的換行符,還有回車換行符作為斷句.

一個完整的http請求消息,包含一個請求行,若干個消息頭(請求頭),換行,請求體(里面放著post方式請求的數(shù)據(jù))

請求行:描述客戶端的請求方式、請求資源的名稱、http協(xié)議的版本號。 例如: GET/BOOK/JAVA.HTML HTTP/1.1
請求頭(消息頭)包含(客戶機請求的服務(wù)器主機名,客戶機的環(huán)境信息等):
Accept:用于告訴服務(wù)器,客戶機支持的數(shù)據(jù)類型  (例如:Accept:text/html,image/*)
Accept-Charset:用于告訴服務(wù)器,客戶機采用的編碼格式
Accept-Encoding:用于告訴服務(wù)器,客戶機支持的數(shù)據(jù)壓縮格式
Accept-Language:客戶機語言環(huán)境
Host:客戶機通過這個服務(wù)器,想訪問的主機名
If-Modified-Since:客戶機通過這個頭告訴服務(wù)器,資源的緩存時間
Referer:客戶機通過這個頭告訴服務(wù)器,它(客戶端)是從哪個資源來訪問服務(wù)器的(防盜鏈)
User-Agent:客戶機通過這個頭告訴服務(wù)器,客戶機的軟件環(huán)境(操作系統(tǒng),瀏覽器版本等)
Cookie:客戶機通過這個頭,將Coockie信息帶給服務(wù)器
Connection:告訴服務(wù)器,請求完成后,是否保持連接
Date:告訴服務(wù)器,當前請求的時間
空白行
請求體
就是指瀏覽器端通過http協(xié)議發(fā)送給服務(wù)器的實體數(shù)據(jù)。例如:name=dylan&id=110
(get請求時,通過url傳給服務(wù)器的值。post請求時,通過表單發(fā)送給服務(wù)器的值)
  
再看看HTTP響應(yīng)消息(服務(wù)器返回給瀏覽器的):


一個http響應(yīng)代表服務(wù)器端向客戶端回送的數(shù)據(jù),它包括:
狀態(tài)行,若干個消息頭,以及實體內(nèi)容
響應(yīng)頭(消息頭)包含:
Location:這個頭配合302狀態(tài)嗎,用于告訴客戶端找誰
Server:服務(wù)器通過這個頭,告訴瀏覽器服務(wù)器的類型
Content-Encoding:告訴瀏覽器,服務(wù)器的數(shù)據(jù)壓縮格式
Content-Length:告訴瀏覽器,回送數(shù)據(jù)的長度
Content-Type:告訴瀏覽器,回送數(shù)據(jù)的類型
Last-Modified:告訴瀏覽器當前資源緩存時間
Refresh:告訴瀏覽器,隔多長時間刷新
Content-Disposition:告訴瀏覽器以下載的方式打開數(shù)據(jù)。例如: context.Response.AddHeader("Content-Disposition","attachment:filename=aa.jpg");                                        context.Response.WriteFile("aa.jpg");
Transfer-Encoding:告訴瀏覽器,傳送數(shù)據(jù)的編碼格式
ETag:緩存相關(guān)的頭(可以做到實時更新)
Expries:告訴瀏覽器回送的資源緩存多長時間。如果是-1或者0,表示不緩存
Cache-Control:控制瀏覽器不要緩存數(shù)據(jù)   no-cache
Pragma:控制瀏覽器不要緩存數(shù)據(jù)          no-cache
Connection:響應(yīng)完成后,是否斷開連接。  close/Keep-Alive
Date:告訴瀏覽器,服務(wù)器響應(yīng)時間

空白行

響應(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,并按下回車鍵
瀏覽器向DNS服務(wù)器請求解析該URL中的域名對應(yīng)的IP地址(如果是IP請求,則不需要該步驟)
解析出IP后,根據(jù)IP和端口號,和服務(wù)器建立TCP連接
瀏覽器向服務(wù)器發(fā)送請求,該請求報文作為TCP三次握手的第三個報文發(fā)送給服務(wù)器
服務(wù)器做出響應(yīng),把數(shù)據(jù)發(fā)送給瀏覽器
通信完成,斷開TCP連接
瀏覽器解析收到的數(shù)據(jù)并顯示

web的本質(zhì)都是上面這一套,主要就是請求響應(yīng),無論什么語言開發(fā)的web應(yīng)用

四:HTTPS簡介

HTTPS是安全的HTTP通道,即在HTTP通信中加入了SSL層(當前版本是TLS1.2),通信的數(shù)據(jù)被加密了,防止被竊取,具體的通信流程如下

HTTPS使用的加密方式結(jié)合了對稱加密和不對稱加密的特點,在保證安全的情況下,又提高了傳輸效率。HTTP和HTTPS的區(qū)別如下:

1.https協(xié)議需要到ca申請證書,一般免費證書很少,需要交費。

2.http的信息是明文傳輸,https 則是具有安全性的ssl加密傳輸協(xié)議。

3.http和https用的端口不一樣,前者是80,后者是443。

4.http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL HTTP協(xié)議構(gòu)建的可進行加密傳輸、身份認證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全.

來源:https://www.icode9.com/content-4-498751.html
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
HTTP詳解(1)-工作原理
2.2Web應(yīng)用和HTTP協(xié)議
初識“HTTP”--,Protocol Analysis
http協(xié)議(二)
http協(xié)議和web本質(zhì)
面試必備的計算機網(wǎng)絡(luò)核心知識點,全都梳理好了,去懟面試官吧
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服