国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

learning http

summerpxy / 1384人閱讀

摘要:第三次老王電話機通常還會回復一個給對方,以示接到對方的。報文請求由三部分組成,分別是請求行消息報頭請求正文。消息報頭消息報頭包括普通報頭請求報頭響應報頭實體報頭。

概念

http(超文本傳輸協議)是一個基于請求與響應模式的、無狀態(tài)的、應用層的協議,常基于TCP的連接方式,HTTP1.1版本中給出一種持續(xù)連接的機制,絕大多數的Web開發(fā),都是構建在HTTP協議之上的Web應用。

HTTP URL (URL是一種特殊類型的URI,包含了用于查找某個資源的足夠的信息)的格式如下:
http://host":"port

http表示要通過HTTP協議來定位網絡資源;host表示合法的Internet主機域名或者IP地址;port指定一個端口號,為空則使用缺省端口80;abs_path指定請求資源的URI;如果URL中沒有給出abs_path,那么當它作為請求URI時,必須以“/”的形式給出,通常這個工作瀏覽器自動幫我們完成。

網絡基礎

1 七層網絡協議(7 應用層 6 表示層 5 會話層 4 傳輸層 3 網絡層 2 數據鏈路層 1 物理層)的內容。

2 每個HTTP傳輸都要依次經過應用層、傳輸層、網絡層、鏈路層、(傳輸目標的)鏈路層、(傳輸目標的)網絡層、(傳輸目標的)傳輸層和(傳輸目標的)的應用層。

http發(fā)生在應用層,但它的底層是tcp。

3 TCP的三次握手

第一次握手:客戶端發(fā)送syn包(syn=j)到服務器,并進入SYN_SEND狀態(tài),等待服務器確認;

第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態(tài);

第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發(fā)送確認包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務器進入ESTABLISHED狀態(tài),完成三次握手。

握手過程中傳送的包里不包含數據,三次握手完畢后,客戶端與服務器才正式開始傳送數據。理想狀態(tài)下,TCP連接一旦建立,在通信雙方中的任何一方主動關閉連接之前,TCP 連接都將被一直保持下去。
(斷開連接時服務器和客戶端均可以主動發(fā)起斷開TCP連接的請求,斷開過程需要經過“四次握手”)

4 電話原理

第一次上海的老王給北京的老張打電話,撥號碼010-68886xx8老王電話機與電信局之間的電話線,其實有兩個信道:信令信道 + 語音信道,當老王拿起電話,撥010-68886xx8,這個號碼通過信令信道傳到了電信局,同時將語音信道(DS0)保留,為了稍后的通信做語音信道預留。

電信局根據這個號碼做路由查找,找到其上一級的交換機,通過信令信道將010-68886xx88轉發(fā)給上一級交換機,同時和上一級協商好,預留一個DS0語音信道,為了語音傳輸。

這樣一級級轉接,最終號碼轉接到北京老張的電話機,振鈴,北京電信局與老張電話機之間預留一個DS0語音信道,為了語音傳輸。

第二次老張拿起電話的那一刻,一個“Connected”信令順著來時的信令信道(一跳、一跳)傳輸到老王的電話機。

第三次老王電話機通常還會回復一個“ACK”給對方,以示接到對方的“Connected”。

語音傳輸當老張拿起電話的那一刻,端到端的語音信道已經預留好了,一般為DS0= 64Kbps,這條端到端信道其實是由多條 hop-2-hop信道串聯而成的。此時雙方可以自由說話,語音數據會從保留的語音信道流淌到對方。

從以上的描述來看,信令數據、語音數據是在自己獨立的信道里傳輸,大家井水不犯河水,互不干涉。

(例子出處,感謝作者:https://www.zhihu.com/people/...)

簡單的 HTTP 協議

http協議是不保存狀態(tài)的協議,因此引入了 Cookie 技術。

HTTP報文

http請求由三部分組成,分別是:請求行、消息報頭、請求正文。

客戶端發(fā)出請求報文,服務器發(fā)出響應報文。

客戶端請求

在請求報文中,客戶端使用不同的方法告知服務器意圖,常用的方法有 POST 、GET

GET     請求獲取Request-URI所標識的資源
POST    在Request-URI所標識的資源后附加新的數據
HEAD    請求獲取由Request-URI所標識的資源的響應消息報頭
PUT     請求服務器存儲一個資源,并用Request-URI作為其標識
DELETE  請求服務器刪除Request-URI所標識的資源
TRACE   請求服務器回送收到的請求信息,主要用于測試或診斷
CONNECT 保留將來使用
OPTIONS 請求查詢服務器的性能,或者查詢與資源相關的選項和需求
應用舉例:
GET方法:在瀏覽器的地址欄中輸入網址的方式訪問網頁時,瀏覽器采用GET方法向服務器獲取資源,eg:GET /form.html HTTP/1.1 (CRLF)

POST方法要求被請求服務器接受附在請求后面的數據,常用于提交表單。

服務端響應

HTTP響應也是由三個部分組成,分別是:狀態(tài)行、消息報頭、響應正文

狀態(tài)行格式如下

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示服務器HTTP協議的版本;Status-Code表示服務器發(fā)回的響應狀態(tài)代碼;Reason-Phrase表示狀態(tài)代碼的文本描述。

狀態(tài)代碼有三位數字組成,第一個數字定義了響應的類別,且有五種可能取值:

1xx:指示信息--表示請求已接收,繼續(xù)處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求

常見狀態(tài)代碼、狀態(tài)描述、說明:

200 OK //客戶端請求成功
400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized //請求未經授權,這個狀態(tài)代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden //服務器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //服務器發(fā)生不可預期的錯誤
503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常

響應正文就是服務器返回的資源的內容。

消息報頭

HTTP消息報頭包括普通報頭、請求報頭、響應報頭、實體報頭。

每一個報頭域都是由名字+“:”+空格+值 組成,消息報頭域的名字是大小寫無關的。

請求報頭允許客戶端向服務器端傳遞請求的附加信息以及客戶端自身的信息。
eg Accept:image/gif Accept-Charset

響應報頭允許服務器傳遞不能放在狀態(tài)行中的附加響應信息,以及關于服務器的信息和對Request-URI所標識的資源進行下一步訪問的信息。
eg Location Server

請求和響應消息都可以傳送一個實體。一個實體由實體報頭域和實體正文組成,但并不是說實體報頭域和實體正文要在一起發(fā)送,可以只發(fā)送實體報頭域。實體報頭定義了關于實體正文(eg:有無實體正文)和請求所標識的資源的元信息。
eg Encoding:gzip

編碼傳輸

HTTP 報文(message)一般和 HTTP實體(entity)是同一個東西。只有當傳輸過程中發(fā)生編碼操作時,實體主體的內容發(fā)生變化,才導致它和報文主體產生差異。

常用的內容編碼有:

gzip (GNU zip)
compress (UNIX 系統(tǒng)的標準壓縮)
deflate (zlib)
identity (不進行編碼)
web服務的過程

搜索自身的dns緩存

搜索操作系統(tǒng)的自身的dns緩存

讀取本地host

瀏覽器發(fā)起一個dns的系統(tǒng)調用

找到ip地址后發(fā)起后續(xù)握手

感謝:http://www.cnblogs.com/li0803...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/89013.html

相關文章

  • 快速上手——我用scrapy寫爬蟲(一)

    摘要:寫在前面用寫爬蟲的人很多,的爬蟲框架也很多,諸如和,筆者還是筆記傾向于,本文就用寫一個小爬蟲。本文適用于有一定基礎的,并且對爬蟲有一定了解的開發(fā)者。 寫在前面 用python寫爬蟲的人很多,python的爬蟲框架也很多,諸如pyspider 和 scrapy,筆者還是筆記傾向于scrapy,本文就用python寫一個小爬蟲demo。本文適用于有一定python基礎的,并且對爬蟲有一定了...

    curlyCheng 評論0 收藏0
  • Deep learning的一些教程

    摘要:還有一些以后補充。十分推薦更多的教程斯坦福的公開課教學語言是。加盟百度前,余凱博士在美國研究院擔任部門主管,領導團隊在機器學習圖像識別多媒體檢索視頻監(jiān)控,以及數據挖掘和人機交互等方面的產品技術研發(fā)。 轉載自http://baojie.org/blog/2013/01/27/deep-learning-tutorials/ ? Stanford Deep Learning wiki: htt...

    SimpleTriangle 評論0 收藏0
  • Nginx 一點一滴 01 - 安裝運行

    摘要:這時才發(fā)現上面的配置錯誤,必須用絕對路徑,不能用形如符號卸載重裝的正確姿勢查看當前版本版本信息這里要重定向才可以輸出到文件哦之后,進程是重新創(chuàng)建了的里面保存的是的主進程號 GET THE CODE ganiks ? nginx-1.8.0 wget http://nginx.org/download/nginx-1.8.0.tar.gz ganiks ? nginx-1.8....

    FWHeart 評論0 收藏0
  • Python機器學習工具:Scikit-Learn介紹與實踐

    摘要:簡介官方的解釋很簡單用來玩機器學習。什么是機器學習機器學習關注的是計算機程序如何隨著經驗積累自動提高性能。的生態(tài)是一門簡單易學的語言,語法要素不多,對于只關心機器學習本身非軟件開發(fā)的人員,語言層面的東西基本是不需要關心的。 showImg(https://segmentfault.com/img/bVKWg8?w=566&h=202); Scikit-learn 簡介 官方的解釋很簡單...

    HackerShell 評論0 收藏0
  • 128篇論文,21大領域,深度學習最值得看的資源全在這了

    摘要:對于大多數想上手深度學習的小伙伴來說,我應當從那篇論文開始讀起這是一個亙古不變的話題。接下來的論文將帶你深入理解深度學習方法深度學習在前沿領域的不同應用。 對于大多數想上手深度學習的小伙伴來說,我應當從那篇論文開始讀起?這是一個亙古不變的話題。而對那些已經入門的同學來說,了解一下不同方向的論文,也是不時之需。有沒有一份完整的深度學習論文導引,讓所有人都可以在里面找到想要的內容呢?有!今天就給...

    tracymac7 評論0 收藏0

發(fā)表評論

0條評論

summerpxy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<