這篇文章帶給大家的內容是關於php中通訊協定以及進程與執行緒的基礎講解,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
整理了一些關於PHP相關的基礎。請大家隨意摘看。
網路通訊協定是一種網路通用語言,為連接不同作業系統和不同硬體體系結構的網路絡引提供通訊支持,是一種網路通用語言。
名稱 | #註解 |
---|---|
#HTTP | Hypertext Transfer Protocol 超文本傳輸協議,顯示網頁 |
DNS | Domain Name System 網域系統 |
#FTP | File Transfer Protocol 檔案傳輸協定 |
SSH | Secure Shell |
---|---|
#通訊層 | |
TCP | |
---|---|
UDP | |
網路層 |
HTTP是Hyper Text Transfer Protocol(超文本傳輸協定)的縮寫。它的發展是萬維網協會(World Wide Web Consortium)和Internet工作小組IETF(Internet Engineering Task Force)合作的結果,(他們)最終發布了一系列的RFC,RFC 1945定義了HTTP/1.0版本。其中最著名的就是RFC 2616。 RFC 2616定義了今天普遍使用的一個版本-HTTP 1.1。
HTTP協定(HyperText Transfer Protocol,超文本傳輸協定)是用於從WWW伺服器傳輸超文本到本機瀏覽器的傳送協定。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證電腦正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。
HTTP是一個應用層協議,由請求和回應構成,是一個標準的客戶端伺服器模型。 HTTP是一個無狀態的協定。
HTTP協定通常承載於TCP協定之上,有時也承載於TLS或SSL協定層之上,這個時候,就成了我們常說的HTTPS。如下圖所示
預設HTTP的連接埠號碼為80,HTTPS的連接埠號碼為443。
HTTP協定永遠都是客戶端發起請求,伺服器回傳回應。見下圖
這樣就限制了使用HTTP協議,無法實現在客戶端沒有發起請求的時候,伺服器將訊息推送給客戶端。
HTTP協定是一個無狀態的協議,同一個客戶端的這次請求和上次請求是沒有對應關係。
客戶端發送一個HTTP請求到伺服器的請求訊息包括以下格式
請求行(request line)
請求頭部(header)
空白行和請求資料四個部分組成。
Get請求範例
GET /562f25980001b1b106000338.jpg HTTP/1.1Host img.mukewang.comUser-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36Accept image/webp,image/*,*/*;q=0.8Referer http://www.imooc.com/Accept-Encoding gzip, deflate, sdchAccept-Language zh-CN,zh;q=0.8
POST請求範例
POST / HTTP1.1Host:www.wrox.comUser-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)Content-Type:application/x-www-form-urlencodedContent-Length:40Connection: Keep-Alivename=Professional%20Ajax&publisher=Wiley
第一部分:請求行,第一行顯示請求類型,以及http1.1版本。
第二部分:請求頭部,第二行至第六行。
第三部分:空行,第七行的空白行。
第四部分:請求數據,第八行。
一般情況下,伺服器接收並處理客戶端發送過來的請求後會傳回一個HTTP的回應訊息。
HTTP回應也由四個部分組成
狀態行
#訊息標頭
空白行和回應正文。
HTTP/1.1 200 OKDate: Fri, 22 May 2009 06:07:21 GMTContent-Type: text/html; charset=UTF-8<!--body goes here-->
第一部分狀態行 : 由HTTP協定版本號、狀態碼、狀態訊息三部分組成。
第二部分訊息標頭: 用來說明客戶端要使用的一些附加資訊
第三部分空行: 訊息標頭後面的空行是必須的
第四部分回應正文: 伺服器傳回給客戶端的文字訊息。
狀態碼有三位數字組成,第一個數字定義了回應的類別,共分五種類別
狀態 | 註解 |
---|---|
1xx | 指示訊息--表示請求已接收,繼續處理 |
2xx | 成功--表示請求已成功接收、理解、接受 |
#3xx | ##已重新導向- -要完成請求必須進行更進一步的操作|
客戶端錯誤--請求有語法錯誤或請求無法實現 | |
伺服器端錯誤--伺服器未能實現合法的請求 |
以上是php中通訊協定以及行程與執行緒的基礎講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!