PHP--網絡協議相關知識

HTTP狀態碼css

HTTP狀態碼(HTTP Status Code)是用以表示網頁服務器HTTP響應狀態的3位數字代碼。html

HTTP狀態碼主要有5種,表明5種不一樣類型的響應:web

  1. 1xx:信息性狀態碼,表明接收到請求,正在處理
  2. 2xx:成功狀態碼,表明請求正常處理完畢

a)     200 OK跨域

表示從客戶端發來的請求在服務端被正常處理了瀏覽器

b)     204 No Content緩存

服務器接收的處理已經所有處理完畢,可是返回的響應報文中不含有實體的主體部分,另外也不容許返回任何的主體,瀏覽器接收到204響應以後頁面不更新。安全

c)      206 Partial Content服務器

客戶端進行了範圍請求,服務器成功執行了這部分的GET請求。響應報文中包含由Content-Range指定的實體內容。cookie

  1. 3xx:重定向,代表瀏覽器須要執行某些特殊的處理以正確處理請求。

a)     301 Moved Permanenty網絡

永久重定向,301表示請求的資源已經被分配了新的URI,之後應使用資源如今所指的URI。

b)     302 Found

臨時重定向,該狀態碼錶示請求的資源已被分配了新的URI,但願用戶(本次)可以使用新的URI訪問。

與301不一樣,302是臨時重定向,已移動的資源對應的URI在未來可能仍是會發生改變。

c)      303 See Other

表示請求對應的資源存在着另外一個URI,應使用GET方法定向獲取請求的資源。

d)     304 Not Modified

304雖然被劃分在3xx中,可是和重定向並無關係。該狀態碼錶示客戶端發送附帶條件的請求時,服務器容許請求訪問資源,但因發生請求未知足條件的狀況後,直接返回304 Not Modified(服務器資源未改變,可直接使用客戶端未過時的緩存)。304狀態碼返回時,不包含任何響應的主體部分。

e)     307 Temporary Redirect

臨時重定向。該狀態碼與302 Found 有着相同的含義。儘管302標準禁止POST變換成GET,但實際使用時你們並不遵照。

307會遵守瀏覽器標準,不會從POST變成GET,可是對於處理響應的行爲,每種瀏覽器有可能出現不一樣的狀況。

  1. 4xx:客戶端錯誤,表示服務器沒法處理請求,錯誤是因爲客戶端引發的。

a)     400 Bad Request

請求報文中存在語法錯誤。當錯誤發生時,需修改請求的內容再次發送請求。

b)     401 Unauthorized

表示發送的請求須要有經過HTTP認證(BASIC認證、DIGEST認證)的認證信息。若以前已經進行過1次請求,則表示用戶認證失敗。

返回含有401的響應必須包含一個使用於被請求資源的WWW-Authenticate首部用以質詢(challenge)用戶信息。當瀏覽器第一次接收401的時候,會彈出認證用的對話窗口。

c)      403 Forbidden

對請求資源的訪問被服務器拒絕了。

d)     404 Not Found

服務器上沒法找到請求的資源。

  1. 5xx:服務器錯誤,表示服務器在處理請求時出錯

a)     500 Internal Server Error

服務器在執行請求時發生了錯誤,也有多是web應用存在的bug或臨時的故障。

b)     503 Server Unaviabilable

服務器暫時處於超負載或正在進行停機維護,如今沒法處理請求。

 

OSI七層模型

http://www.cnblogs.com/qishui/p/5428938.html 這篇文章講的很詳細了。

  1. 物理層 : 創建、維護、斷開物理鏈接。
  2. 數據鏈路層 : 創建邏輯鏈接、進行硬件地址尋址、差錯檢驗等功能。
  3. 網絡層 : 進行邏輯地址尋址,實現不一樣網絡之間的路徑選擇。
  4. 運輸層 : 定義傳輸數據的協議端口號,以及流控和差錯校驗。

協議有:TCP UDP ,數據包一旦離開網卡即進入網絡傳輸層。

  1. 會話層 : 創建、管理、終止會話。
  2. 表示層 : 數據的表示、安全和壓縮。
  3. 應用層 : 網絡服務與最終用戶的一個接口。

協議有:HTTP FTP TFTP SMTP POP3 SNMP DNS TENNET HTTPS DHCP

 

HTTP協議的工做特色與工做原理

工做特色

一、 基於B/S模式

二、 通訊開銷小、傳輸快速、傳輸成本低

三、使用靈活、可以使用超文本傳輸協議

四、節省傳輸時間

五、無狀態

工做原理

客戶端發送請求給服務器,建立一個TCP鏈接,指定端口號(默認爲80),服務器監聽瀏覽器請求,一旦監聽到客戶端請求,分析請求類型後,服務器會向客戶端返回狀態信息和數據內容。

 

HTTP協議常見的請求/相應頭

一、Content-Type :實體主體內對象的媒體類型,和Accept同樣,字段值用type/subtype形式賦值。

Content-Type: text/html; charset=UTF-8

二、Accept :可通知服務器用戶代理可以處理的媒體類型及媒體類型的相對優先級。可以使用 type/subtype 這種形式,一次指定多種媒體類型。

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

n  文本類型

text/html, text/plain, text/css ...

application/xhtml+xml, application/xml ...

n  圖片類型

image/jpeg, image/gif,image/png ...

n  視頻文件

video/mpeg, video/quicktime ...

n  應用程序使用的二進制文件

application/octet-stream, application/zip ...

一、Origin :最初的請求來源與哪,主要用與post請求

二、Cookie :HTTP請求發起時,發送給服務端的cookie值

三、Cache-Control :指定請求和響應的緩存機制

四、User-Agent :用戶信息

五、Referrer :上級請求路徑

六、X-Forwarded-For :強求端的真實IP(作代理的時候能夠用次來獲取)

七、Access-Control-Allow-Origin :容許特定的域名來進行訪問,一般用作跨域使用

八、Last-Modified :指明資源最終修改的時間

 

HTTP協議的請求方法

一、GET

二、POST

三、HEAD

四、OPTIONS

五、PUT

六、DELETE

七、TRACE

GET 和 POST 的區別:

  1. GET在刷新和後退時,沒影響,而POST會從新提交信息。
  2. GET能夠被收藏爲書籤,而POST不行。
  3. GET 能夠被緩存,POST不行。
  4. GET 請求時,編碼類型爲 application/x-www-form-urlencoded,POST 除了這個,還能夠是Multipart/form-data(文件上傳)
  5. GET 參數直接顯示在url中,post看不到
  6. 因爲url限制,GET 的數據量是有限的
  7. POST比GET更安全

 

HTTPS 的工做原理

HTTPS 是一種基於SSL/TLS的HTTP協議,全部的HTTP數據都是在SSL/TLS協議封裝之上傳輸的。

HTTPS 協議在HTTP 協議的基礎上,添加了SSL/TLS握手以及數據加密傳輸,也屬於應用層協議。

 

常見網絡協議含義及端口

一、FTP :文件傳輸協議(21)

二、Telnet :用於遠程登陸的端口(23)

三、SMTP :定義了簡單郵件傳輸協議(25)

四、POP3 :接收郵件(110)

五、HTTP :超文本傳輸協議(80)

六、DNS :域名解析服務(53)

相關文章
相關標籤/搜索