摘要:請求由三部分組成,分別是請求行消息報頭請求正文超文本傳輸協議是一個基于請求與響應模式的無狀態的應用層的協議,常基于的連接方式,版本中給出一種持續連接的機制,絕大多數的開發,都是構建在協議之上的應用。支持標準字符集,可以正確傳遞中文字符。
http請求由三部分組成,分別是:請求行、消息報頭、請求正文
HTTP(超文本傳輸協議)是一個基于請求與響應模式的、無狀態的、應用層的協議,常基于TCP的連接方式,HTTP1.1版本中給出一種持續連接的機制,絕大多數的Web開發,都是構建在HTTP協議之上的Web應用。
1、常用的HTTP方法有哪些?
GET: 用于請求訪問已經被URI(統一資源標識符)識別的資源,可以通過URL傳參給服務器。
POST:用于傳輸信息給服務器,主要功能與GET方法類似,但一般推薦使用POST方式。
PUT: 傳輸文件,報文主體中包含文件內容,保存到對應URI位置。
HEAD: 獲得報文首部,與GET方法類似,只是不返回報文主體,一般用于驗證URI是否有效。
DELETE:刪除文件,與PUT方法相反,刪除對應URI位置的文件。
OPTIONS:查詢相應URI支持的HTTP方法。
2、GET方法與POST方法的區別
區別一:
get重點在從服務器上獲取資源,post重點在向服務器發送數據;
區別二:
get傳輸數據是通過URL請求,以field(字段)= value的形式,置于URL后,并用"?"連接,多個請求數據間用"&"連接,如http://127.0.0.1/Test/login.a...,這個過程用戶是可見的;
post傳輸數據通過Http的post機制,將字段與對應值封存在請求實體中發送給服務器,這個過程對用戶是不可見的;
區別三:
Get傳輸的數據量小,因為受URL長度限制,但效率較高;
Post可以傳輸大量數據,所以上傳文件時只能用Post方式;
區別四:
get是不安全的,因為URL是可見的,可能會泄露私密信息,如密碼等;
post較get安全性較高;
區別五:
get方式只能支持ASCII字符,向服務器傳的中文字符可能會亂碼。
post支持標準字符集,可以正確傳遞中文字符。
3、HTTP請求報文與響應報文格式
請求報文包含三部分:
a、請求行:包含請求方法、URI、HTTP版本信息
b、請求首部字段
c、請求內容實體
響應報文包含三部分:
a、狀態行:包含HTTP版本、狀態碼、狀態碼的原因短語
b、響應首部字段
c、響應內容實體
4、常見的HTTP相應狀態碼
返回的狀態
1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求
200:請求被正常處理
204:請求被受理但沒有資源可以返回
206:客戶端只是請求資源的一部分,服務器只對請求的部分資源執行GET方法,相應報文中通過Content-Range指定范圍的資源。
301:永久性重定向
302:臨時重定向
303:與302狀態碼有相似功能,只是它希望客戶端在請求一個URI的時候,能通過GET方法重定向到另一個URI上
304:發送附帶條件的請求時,條件不滿足時返回,與重定向無關
307:臨時重定向,與302類似,只是強制要求使用POST方法
400:請求報文語法有誤,服務器無法識別
401:請求需要認證
403:請求的對應資源禁止被訪問
404:服務器無法找到對應資源
500:服務器內部錯誤
503:服務器正忙
5、HTTP1.1版本新特性
a、默認持久連接節省通信量,只要客戶端服務端任意一端沒有明確提出斷開TCP連接,就一直保持連接,可以發送多次HTTP請求
b、管線化,客戶端可以同時發出多個HTTP請求,而不用一個個等待響應
c、斷點續傳原理
6、常見HTTP首部字段
a、通用首部字段(請求報文與響應報文都會使用的首部字段)
Date:創建報文時間
Connection:連接的管理
Cache-Control:緩存的控制
Transfer-Encoding:報文主體的傳輸編碼方式
b、請求首部字段(請求報文會使用的首部字段)
Host:請求資源所在服務器
Accept:可處理的媒體類型
Accept-Charset:可接收的字符集
Accept-Encoding:可接受的內容編碼
Accept-Language:可接受的自然語言
c、響應首部字段(響應報文會使用的首部字段)
Accept-Ranges:可接受的字節范圍
Location:令客戶端重新定向到的URI
Server:HTTP服務器的安裝信息
d、實體首部字段(請求報文與響應報文的的實體部分使用的首部字段)
Allow:資源可支持的HTTP方法
Content-Type:實體主類的類型
Content-Encoding:實體主體適用的編碼方式
Content-Language:實體主體的自然語言
Content-Length:實體主體的的字節數
Content-Range:實體主體的位置范圍,一般用于發出部分請求時使用
7、HTTP的缺點與HTTPS
a、通信使用明文不加密,內容可能被竊聽
b、不驗證通信方身份,可能遭到偽裝
c、無法驗證報文完整性,可能被篡改
HTTPS就是HTTP加上加密處理(一般是SSL安全通信線路)+認證+完整性保護
8、HTTP優化
利用負載均衡優化和加速HTTP應用
利用HTTP Cache來優化網站
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105973.html
摘要:關于我的博客我的個人站點,知乎簡書喜馬拉雅聽書開源中國泡在網上的日子郵箱阿里云博客頭條 目錄介紹 1.URL Scheme使用場景介紹 2.URL Scheme基礎介紹 2.1 什么是URL Scheme? 2.2 URL Scheme協議格式解釋 2.3 Scheme鏈接格式樣式 3.URL Scheme如何使用 3.1 設置Scheme 3.2 獲取Scheme跳轉的...
摘要:前言整理了一些關于相關的基礎。第一部分狀態行由協議版本號狀態碼狀態消息三部分組成。由單一的順序的執行線程一個當前狀態和一組相關的系統資源所描述的活動單元。 showImg(https://segmentfault.com/img/bVbfi0I?w=480&h=241); 前言 整理了一些關于PHP相關的基礎。請大家隨意摘看。 通信協議 網絡通信協議是一種網絡通用語言,為連接不同操作系...
摘要:通過或在服務器上運行時可以使用的可執行文件,可以理解為解釋器也有說是官方的進程管理器,至于是什么文章后面再分析,這里就當作解釋器。就是為了解決的問題,制定的協議。 一個模糊的概念 無論是php,python編程語言,還是apache,nginx服務器對于cgi協議是個繞不開的話題。安裝,部署都會經常的看到,那么它們到底是干什么的,網上的答案非常的多!今天通過它們進行一波匯總,徹底告別這...
閱讀 844·2019-08-30 15:54
閱讀 3316·2019-08-29 15:33
閱讀 2701·2019-08-29 13:48
閱讀 1212·2019-08-26 18:26
閱讀 3333·2019-08-26 13:55
閱讀 1475·2019-08-26 10:45
閱讀 1164·2019-08-26 10:19
閱讀 305·2019-08-26 10:16