HTTP,也被稱為超文本傳輸協議,是在互聯網中用來傳輸和接收超媒體文檔的應用級協議。HTTP 1.0是最早的版本,使用最廣泛。
一、HTTP 1.0簡介
HTTP 1.0是在1996年發布的。當時,它只能傳輸純文本,因此只支持較低的數據傳輸速度,對於圖片、視頻等大文件的傳輸表現較差。為解決這些問題,引出了HTTP 1.1等後續版本。
HTTP 1.0的特徵如下:
- HTTP 1.0是一個基於請求/響應模型的協議。
- HTTP 1.0遵循客戶端/伺服器模型:瀏覽器是客戶端,Web伺服器是服務端。
- HTTP 1.0負責客戶端瀏覽器與服務端Web伺服器之間的數據交換。
- HTTP 1.0默認使用持續連接,以便在多個請求之間共享TCP連接,但如果超過一個預訂長度,則關閉連接。
- HTTP 1.0不支持虛擬主機技術。
二、HTTP 1.0請求和響應頭
HTTP 1.0的請求和響應的交互數據中包含有關被請求資源的信息,例如:請求URI、HTTP方法、協議版本、請求頭、請求實體。
HTTP 1.0的請求頭包括以下內容:
GET /example HTTP/1.0 Host: example.com User-Agent: Mozilla/5.0 (Windows NT 10.0;Win64) Accept-Language: en-US,en;q=0.5
HTTP 1.0的響應頭包括以下內容:
HTTP/1.0 200 OK Date: Sun, 29 Apr 2018 08:00:01 GMT Content-Type: text/html;charset=UTF-8 Content-Length: 10 Accept-Language:en-US
三、HTTP 1.0方法
HTTP 1.0定義的方法包括:
- GET:獲取資源,並將其傳回客戶端。
- POST:向伺服器發送數據,用於處理請求資源中包含的實體數據。
- HEAD:與GET方法類似,但是響應中只返迴響應頭部。
- PUT:上傳資源,如果資源不存在則創建。
- DELETE:刪除指定資源。
- 開發者可以根據自己的需求選擇不同的HTTP方法來傳輸數據。
四、HTTP 1.0的缺點
與HTTP 1.1相比,HTTP 1.0具有以下缺點:
- 每個請求都需要建立新的TCP連接,因此速度較慢。
- 每個連接中只能發送一個請求。
- HTTP 1.0不支持虛擬主機技術,因此一個IP只能綁定一個域名。
- HTTP 1.0不支持管道化技術。
- HTTP 1.0無法進行內容壓縮(gzip、deflate)。
五、HTTP 1.0實例代碼
HTTP 1.0請求
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://example.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); curl_setopt($ch, CURLOPT_HEADER, 0); $response = curl_exec($ch); curl_close($ch); echo $response; ?>
HTTP 1.0響應
HTTP/1.0 200 OK Date: Sun, 29 Apr 2018 08:00:01 GMT Content-Type: text/html;charset=UTF-8 Content-Length: 10 Accept-Language:en-US Hello World!
六、總結
HTTP 1.0是一個基礎的協議,它一直是互聯網發展過程中的一個重要基石。雖然已被HTTP 1.1及其以上版本取代,但是HTTP 1.0的特點和工作原理卻非常值得我們了解。
原創文章,作者:IFJZM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/333962.html