http接口測試和使用,首先要了解什么是http請求:
http請求通俗講就是把客戶端的東西通過http協議發送到服務端,服務端根據http協議的定義解析客戶端發過
來的東西!
http請求中常用到的是get和post請求參數,get參數是拼接在url得后邊,以"?"連接域名和參數,形成get請求,
例如:http://coolaf.com?a=b&c=d,問號后邊的就是get請求參數,post請求不會在url中看到,會放到http
請求的body中,各大語言都會封裝出函數,在body中解析出post請求參數。那post參數是什么樣子呢?它可以是
任何形式,常見的key=value的形式,和get請求格式一樣"a=b&c=d" 這種,另外json,xml格式也是常見的。這
些格式在傳遞的時候,會受到Content-Type影響,不同的Content-Type傳遞格式不一樣,服務端就會根據
Content-Type進行相應格式的解析。客戶端和服務端就是通過這些協議來分辨傳遞的是什么格式的。一定要了解下
常見的Content-Type,更多的請見上邊Content-Type鏈接說明。
Content-Type:application/x-www-form-urlencoded,類似form表單和get,post請求都是這個,
格式如 "a=b&c=d",服務端會自動解析
Content-Type:application/json 如果要發送json格式,request header中就需要加入這個Content-Type
類型,這種形式的服務端的接受不太一樣,一般不會解析到post請求中,一般需要讀取body流的方式獲取。
上邊是常見的兩種傳輸格式,我們自己寫代碼的時候有時候不用寫,那是因為類庫中,有的已經自動給加入啦,所以
不需要自己加,Content-Type很重要,他影響你傳遞的格式。
http 請求中還要注意的就是header,分為request header 和response header,request header
是客戶端請求的時候發送的,告訴服務器你客戶端的情況,需要服務端怎么返回給你,例如,是否壓縮
(Accept-Encoding:gzip, deflate, sdch)這個就是告訴服務端,我支持這些種壓縮,你返回的時
候,你可以選擇一種對數據壓縮,我可以解開。還有是否緩存,接受的語言,User-Agent,referer等,
cookie也是放到request header中傳遞到服務端的,從而實現登錄。所以request header 是告訴
服務端你有什么或者參數傳遞的,上邊這些都是http協議定義好的,大家都按這個規則解析就好,另外
header都是可以自定義的,你可以加入任何變量到里邊。所以header中信息是可以任意修改,發送到
服務端的。
response header 相對request header,就是服務端給客戶端的信息,有些是服務端根據客戶端
的需求給的響應,有的服務端告訴客戶端的一些其他信息,例如,請求協議,請求狀態碼,是否緩存,
設置cookie也是有response header中返回,瀏覽器接收到就會設置到瀏覽器中。
白話這么多,有什么錯誤或者問題,可以進群討論。學習無止境。http不神奇。多利用瀏覽器的f12,
看看network,久而久之,會有意想不到的效果啊!!!