1、 http簡介:
http(超文本傳輸協議)是一個基於請求與響應模式的、無狀態的、應用層的協議
2、 url詳解:
百度搜索的一個url地址:
https://www.baidu.com/s?wd=%E4%B8%8A%E6%B5%B7%E6%82%A0%E6%82%A0%E5%8D%9A%E5%AE%A2&rsv_spt=1&rsv_iqid=0x91baaabd00070ba2&issp=1&f=8&rsv_bp=1&rsv_idx=2
1.http/https: 協議類型
2.host:主機地址或域名
--192.168.x.xx:8080 地址+端口號
--www.xxx.com 域名
--localhost:8080 localhost是本機地址
3.port:端口號 (默認端口是80可以省略)
4.path: 請求的路徑(host之后,問號?之前)
5.? : 問號是分割符號
6.參數: name=value
7.& : 多個參數用&隔開
3、Get和post:
1.Get沒有請求body
2.Post有請求body(請求body可以為空)
4、請求方法:
根據HTTP標准,HTTP請求可以使用多種請求方法。
HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
GET 請求指定的頁面信息,並返回實體主體。
HEAD 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的建立和/或已有資源的修改。 PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。
DELETE 請求服務器刪除指定的頁面。
CONNECT HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器。 OPTIONS 允許客戶端查看服務器的性能。
TRACE 回顯服務器收到的請求,主要用於測試或診斷。
5、Request組成:
客戶端發送一個HTTP請求到服務器的請求消息包括以下格式:
請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成。
1.請求行
2.請求頭
3.中間空一行
4.請求body
6、請求頭:
Accept:瀏覽器可接受的媒體類型
Accept-Language: 語言
Accept-Encoding:編碼格式
User-Agent:客戶端類型
Cookie:
Entity:
Contet-Type:發送post時候,body的數據類型聲明
7、Get請求參數:
Get的請求參數都在請求行里--可以在Webforms的QueryString查看
8、post請求參數:
請求參數可以是請求行的參數QueryString+body
--QueryString可以為空
--body也可以為空
9、Post的body:
Post的body常見的數據類型有四種:
1.第一種:application/json: {"input1":"xxx","input2":"ooo","remember":false}
2.第二種:application/x-www-form-urlencoded:input1=xxx&input2=ooo&remember=false
3.第三種:multipart/form-data:這一種是表單格式的
4.第四種:text/xml
<!--?xml version="1.0"?-->
<methodcall>
<methodname>examples.getStateName</methodname>
10、Respose結果:
一般情況下,服務器接收並處理客戶端發過來的請求后會返回一個HTTP的響應消息。
HTTP響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。
11、狀態碼:
狀態代碼有三位數字組成,第一個數字定義了響應的類別,共分五種類別:
1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求
常見狀態碼:
200 OK //客戶端請求成功
400 Bad Request //客戶端請求有語法錯誤,不能被服務器所理解
401 Unauthorized //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden //服務器收到請求,但是拒絕提供服務
404 Not Found //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //服務器發生不可預期的錯誤
503 Server Unavailable //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常