python網絡-HTTP協議(28)

1、服務器和客戶端介紹

一、什麼是服務器?html

簡而言之:提供服務的機器就是服務器,至於提供什麼服務不重要,重要的是要給其餘人提供服務。例如:FTP服務器能夠提供文件下載,SMTP服務器等等,不一樣的服務器能提供的服務不一樣而已。瀏覽器

二、什麼是客戶端?緩存

簡而言之:就是須要服務的APP(瀏覽器或者其餘程序)服務器

三、什麼是HTTP協議?session

簡而言之:服務器和客戶端經常使用的通訊協議的一種,主要用來傳輸超文本信息架構

四、什麼是URL?ide

URL(uniform resource locator):統一資源定位符,即URL能夠用來標識一個資源,並且還指明瞭如何定位這個資源
spa

 

2、HTTP協議簡介

一、HTTP簡介操作系統

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。。orm

HTTP是一個基於TCP/IP通訊協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。

二、HTTP 工做原理

HTTP協議工做於客戶端-服務端架構上。瀏覽器做爲HTTP客戶端經過URL向HTTP服務端即WEB服務器發送全部請求。

Web服務器根據接收到的請求後,向客戶端發送響應信息。

HTTP默認端口號爲80,可是你也能夠改成8080或者其餘端口。

三、HTTP注意事項:

  • HTTP是無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。
  • HTTP是媒體獨立的:這意味着,只要客戶端和服務器知道如何處理的數據內容,任何類型的數據均可以經過HTTP發送。客戶端以及服務器指定使用適合的MIME-type內容類型。
  • HTTP是無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時它的應答就較快。

3、HTTP消息結構

一個HTTP"客戶端"是一個應用程序(Web瀏覽器或其餘任何客戶端),經過鏈接到服務器達到向服務器發送一個或多個HTTP的請求的目的。

一個HTTP"服務器"一樣也是一個應用程序(一般是一個Web服務,如Apache Web服務器或IIS服務器等),經過接收客戶端的請求並向客戶端發送HTTP響應數據。

 一、客戶端請求消息

客戶端發送一個HTTP請求到服務器的請求消息包括如下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成,

 

二、服務器響應消息

HTTP響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。

 4、HTTP常見的Header

        Content-Type:數據類型(text/html等)

      Content-Length: Body的長度

          Host:客戶端告知服務器,所請求的資源是在哪一個主機的哪一個端口上

          User-Agent:聲明用戶的操做系統和瀏覽器版本信息

          referer:當前頁面是從哪一個頁面跳轉過來的

          location:搭配3xx狀態碼使用,告訴客戶端接下來要去哪裏訪問;

          Cookie:用於在客戶端存儲少許信息,一般用於實現會話(session)的功能;

 

 5、HTTP請求方法 

6、HTTP響應頭信息

  • Date:表示消息發送的時間,時間的描述格式由rfc822定義
  • server:服務器名字。
  • Connection:瀏覽器與服務器之間鏈接的類型
  • content-type:表示後面的文檔屬於什麼MIME類型
  • Cache-Control:控制HTTP緩存

7、HTTP狀態碼

  下面是常見的HTTP狀態碼:

  • 200 - 請求成功
  • 301 - 資源(網頁等)被永久轉移到其它URL
  • 404 - 請求的資源(網頁等)不存在
  • 500 - 內部服務器錯誤

  HTTP狀態碼分類

  HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,後兩個數字沒有分類的做用。HTTP狀態碼共分爲5種類型:

相關文章
相關標籤/搜索