Python連載58-http協議簡介

1、http協議實戰html

1.URL(Uniform Resource Located)瀏覽器

(1)使用FFTP的URL,例如:ftp://rtfm.mit.edu服務器

(2)使用HTTP的URL,例如:http://www.baidu.com微信

2.HTTP工做原理併發

(1)瀏覽器分析超i連接中的URL學習

(2)瀏覽器向DNS請求解析網站的IP地址測試

(3)DNS將解析出的IP地址返回瀏覽器大數據

(4)瀏覽器與服務器創建TCP鏈接(80端口)網站

(5)瀏覽器請求文檔:GET/index.htmlui

(6)服務器給出響應,將文檔index.html發送給瀏覽器

(7)釋放TCP鏈接

(8)瀏覽器顯示index.html中的內容

3.持久鏈接和非持久鏈接

4.無狀態性

是指同一個客戶端(瀏覽器)第二次訪問同一個Web服務,服務器沒法知道這個客戶端曾經訪問過。HTTP的無狀態性簡化了服務器的設計,使其更容易支持大量併發的HTTP請求。

5.HTTP報文結構:(1)請求報文;(2)返回報文;(3)請求報文的方法;(4)響應報文中的狀態碼;(5)首部字段或消息頭;(6)報文結構實例。

6.請求報文:即從客戶端(瀏覽器)向Web服務器發送的請求報文,報文的全部字段都是ASCII碼

{

方法  URL   版本   CRLF

首部字段名   值   CRLF

首部字段名   值   CRLF

.....

.....

首部字段名   值  CRLFsho

CRLF

實體主體(Entity body)

}第一行是請求行,例如:GET/index.html/1.1

首部行:用來講明瀏覽器、服務器或報文主體的一些信息/

如:

HOST:www.sxtyu.com

Connection:close

User:Agent:Mozilla/5.0

Accept-Language:cn

7.接收報文

{

版本   狀態碼   短語   CRLF

首部字段名    值   CRLF

首部字段名   值   CRLF

.....

.....

首部字段名   值  CRLFs

CRLF

實體主體(Entity body)

}

第一行是狀態行​,如:HTTP/1.1   200    OK

首部行:用來講明瀏覽器、服務器胡總和報文主體的一些信息。​如:

Date :Wed 08 May 2008  22

Sever:Apach/1.3.2(Unix)

Content0Length:

DateDaDat4096

Content-Type:text/html

7.請求報頭的方法

方法是對全部請求對象所進行的操做,也就是一些命令,請求報文中的操做有:

GET       ​請求讀取一個Web頁面    HEAD   請求讀取一個Web頁面的首部

POST     附加一個命名資源(如Web頁面)

PUT       請求存儲一個Web頁面

DELETE  刪除Web頁面

TRACE   用於測試,要求服務器送回收到的請求

CONNECT  用於代理服務器

OPTION   查詢特定選

8.響應報文中狀態碼

1xx      ​含義:通知信息​;例如:100=服務器正在處理客戶請求

2xx      含義:成功;例如:200=請求成功(OK)

3xx​      含義:重定向​;例如:301=頁面改變了位置

4xx      含義:客戶錯誤​;例如:403=​禁止的頁面;404=頁面未找到

5xx      含義:服務器錯誤;例如:500=服務器內部錯誤;503=之後再試

具體各個狀態碼的含義,請參考W3C的HTTP1.1標準規範RFC2616

http://www.w3.org/Protocols/rfc2616/rtc2616.html

5、源碼

2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料

 

相關文章
相關標籤/搜索