day01 接口

1 接口

1.什么是http協(xié)議

HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議括尸,是一個客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)(TCP)瘦陈,用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議健民,它可以使瀏覽器更加高效逻炊,使網(wǎng)絡(luò)傳輸減少键闺。

超文本傳輸協(xié)議(HTTP汗捡,HyperText Transfer Protocol)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議恒傻。所有的WWW文件都必須遵守這個標(biāo)準(zhǔn)脸侥。設(shè)計HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法。

HTTP協(xié)議一般用于B/S架構(gòu)()盈厘。瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即WEB服務(wù)器發(fā)送所有請求睁枕。

2.什么是https協(xié)議

HTTPS(HyperText Transfer Protocol over Secure Socket Layer):是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版,即HTTP+SSL /TLS外遇,HTTPS的安全基礎(chǔ)是SSL注簿,因此加密的詳細(xì)內(nèi)容就需要SSL。

3.http與https的區(qū)別

HTTPS協(xié)議是由SSL/TLS+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸跳仿、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議诡渴,要比http協(xié)議安 全。

1菲语、https協(xié)議需要到ca申請證書妄辩,一般免費(fèi)證書較少,因而需要一定費(fèi)用山上。

2恩袱、http是超文本傳輸協(xié)議,信息是明文傳輸胶哲,https則是具有安全性的ssl加密傳輸協(xié)議。

3潭辈、http和https使用的是完全不同的連接方式鸯屿,用的默認(rèn)端口也不一樣,前者是80把敢,后者是443寄摆。

4、http的連接很簡單修赞,是無狀態(tài)的婶恼;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證

4.http請求的組成

5.消息報頭

請求頭包含許多有關(guān)的客戶端環(huán)境和請求正文的有用信息柏副。例如勾邦,請求頭可以聲明瀏覽器所用的語言,請求正 文的長度等割择。例如:

Accept:image/gif.image/jpeg./(請求的圖片內(nèi)容格式)

Accept-Language:zh-cn(zh-CN 是表示中文眷篇,fr-FR 是表示法語。 這是RFC1766定義的語言表示方 式)

Connection:Keep-Alive(又稱持久連接荔泳、連接重用蕉饼,Keep-Alive功能使客戶端到服務(wù)器端的連接持續(xù) 有效,當(dāng)出現(xiàn)對服務(wù)器的后繼請求時玛歌,Keep-Alive功能避免了建立或者重新建立連接昧港。)Host:localhost(主機(jī)名字)

User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)(客戶端身份信息)

Accept-Encoding:gzip,deflate( 以壓縮格式接收請求數(shù)據(jù))

6.請求正文

請求頭和請求正文之間是一個空行,這個行非常重要支子,它表示請求頭已經(jīng)結(jié)束创肥,接下來的是請求正文。請求正 文中可以包含客戶提交的查詢字符串信息:

username=jinqiao&password=1234

在以上的例子的HTTP請求中,請求的正文只有一行內(nèi)容瓤的。當(dāng)然休弃,在實(shí)際應(yīng)用中,HTTP請求正文可以包含更多 的內(nèi)容圈膏。

7.請求方法

8.http響應(yīng)格式

9.響應(yīng)狀態(tài)碼

10.HTTP/2.0,1.1,1.0的區(qū)別

HTTP1.0最早在網(wǎng)頁中使用是在1996年塔猾,那個時候只是使用一些較為簡單的網(wǎng)頁上和網(wǎng)絡(luò)請求上,而HTTP1.1則在1999年才開始廣泛應(yīng)用于現(xiàn)在的各大瀏覽器網(wǎng)絡(luò)請求中稽坤,同時HTTP1.1也是當(dāng)前使用最為廣泛的HTTP協(xié)議丈甸。 主要區(qū)別主要體現(xiàn)在:

緩存處理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires來做為緩存判斷的標(biāo)準(zhǔn)尿褪,HTTP1.1則引入了更多的緩存控制策略例如Entity tag睦擂,If-Unmodified-Since, If-Match, If-None-Match等更多可供選擇的緩存頭來控制緩存策略。

帶寬優(yōu)化及網(wǎng)絡(luò)連接的使用杖玲,HTTP1.0中顿仇,存在一些浪費(fèi)帶寬的現(xiàn)象,例如客戶端只是需要某個對象的一部分摆马,而服務(wù)器卻將整個對象送過來了臼闻,并且不支持?jǐn)帱c(diǎn)續(xù)傳功能,HTTP1.1則在請求頭引入了range頭域囤采,它允許只請求資源的某個部分述呐,即返回碼是206(Partial Content),這樣就方便了開發(fā)者自由的選擇以便于充分利用帶寬和連接蕉毯。

錯誤通知的管理乓搬,在HTTP1.1中新增了24個錯誤狀態(tài)響應(yīng)碼,如409(Conflict)表示請求的資源與資源的當(dāng)前狀態(tài)發(fā)生沖突代虾;410(Gone)表示服務(wù)器上的某個資源被永久性的刪除进肯。

Host頭處理,在HTTP1.0中認(rèn)為每臺服務(wù)器都綁定一個唯一的IP地址褐着,因此坷澡,請求消息中的URL并沒有傳遞主機(jī)名(hostname)。但隨著虛擬主機(jī)技術(shù)的發(fā)展含蓉,在一臺物理服務(wù)器上可以存在多個虛擬主機(jī)(Multi-homed Web Servers)频敛,并且它們共享一個IP地址。HTTP1.1的請求消息和響應(yīng)消息都應(yīng)支持Host頭域馅扣,且請求消息中如果沒有Host頭域會報告一個錯誤(400 Bad Request)斟赚。

長連接,HTTP 1.1支持長連接(PersistentConnection)和請求的流水線(Pipelining)處理差油,在一個TCP連接上可以傳送多個HTTP請求和響應(yīng)拗军,減少了建立和關(guān)閉連接的消耗和延遲任洞,在HTTP1.1中默認(rèn)開啟Connection: keep-alive,一定程度上彌補(bǔ)了HTTP1.0每次請求都要創(chuàng)建連接的缺點(diǎn)

11.HTTP2.0和HTTP1.X相比的新特性

新的二進(jìn)制格式(Binary Format)发侵,HTTP1.x的解析是基于文本交掏。基于文本協(xié)議的格式解析存在天然缺陷刃鳄,文本的表現(xiàn)形式有多樣性盅弛,要做到健壯性考慮的場景必然很多,二進(jìn)制則不同叔锐,只認(rèn)0和1的組合挪鹏。基于這種考慮HTTP2.0的協(xié)議解析決定采用二進(jìn)制格式愉烙,實(shí)現(xiàn)方便且健壯讨盒。

多路復(fù)用(MultiPlexing),即連接共享步责,即每一個request都是是用作連接共享機(jī)制的返顺。一個request對應(yīng)一個id,這樣一個連接上可以有多個request蔓肯,每個連接的request可以隨機(jī)的混雜在一起,接收方可以根據(jù)request的 id將request再歸屬到各自不同的服務(wù)端請求里面省核。

header壓縮,如上文中所言昆码,對前面提到過HTTP1.x的header帶有大量信息气忠,而且每次都要重復(fù)發(fā)送,HTTP2.0使用encoder來減少需要傳輸?shù)膆eader大小赋咽,通訊雙方各自cache一份header fields表旧噪,既避免了重復(fù)header的傳輸,又減小了需要傳輸?shù)拇笮 ?/p>

服務(wù)端推送(server push)脓匿,同SPDY一樣淘钟,HTTP2.0也具有server push功能。

2.接口測試流程

需求討論—>需求評審—>場景設(shè)計—>用例設(shè)計—>數(shù)據(jù)準(zhǔn)備—>執(zhí)行—>測試報告

3.接口測試內(nèi)容

1.功能邏輯

通過查數(shù)據(jù)庫或緩存等驗(yàn)證數(shù)據(jù)是否處理正確陪毡。通過其他輔助途徑進(jìn)行驗(yàn)證

2.異常測試

接口測試中主要測試接口正常邏輯米母,但僅邏輯測試不能保證數(shù)據(jù)的安全及程序接口在異常情況下的邏輯處理的正確性。

3.路徑測試

當(dāng)被測接口的實(shí)現(xiàn)方法中毡琉,判斷邏輯復(fù)雜分支多铁瞒,且判斷中又調(diào)用了其他的接口,此時必須要進(jìn)行路徑覆蓋測試桅滋。

4.結(jié)構(gòu)檢查

檢查返回值的結(jié)構(gòu)是否正確慧耍,如是json類型還是xml類型的數(shù)據(jù)

字段名稱是否正確等

XML和JSON都使用結(jié)構(gòu)化方法來標(biāo)記數(shù)據(jù)

5.其他異常場景

研發(fā)的項(xiàng)目身辨,有些項(xiàng)目是底層使用的系統(tǒng),根據(jù)項(xiàng)目特點(diǎn)芍碧,可能會存在特殊的異常場景煌珊。例如: 支付的異步操作,支付消息重試等

6.常用接口測試工具

1.典型商業(yè)工具:

1.LoadRunner(LR):一款商業(yè)性能測試工具泌豆,用來做接口測試定庵,很好很強(qiáng)大 ,但是配置比較麻煩践美。

2.SoapUI:開源測試工具洗贰,通過soap/http來檢查、調(diào)用陨倡、實(shí)現(xiàn)Web Service的功能/負(fù)載/符合性測試敛滋;該工具既可作為一個單獨(dú)的接口測試工具使用,也可利用插件集成到Eclipse兴革,maven2.X绎晃,Netbeans 和intellij中使用。? 了解就可以了杂曲,基本已經(jīng)不用了庶艾。

2.典型開源工具

Jmeter :一款開源的接口測試工具,操作簡單擎勘,方便咱揍,既有jdbc request操作數(shù)據(jù)庫數(shù)據(jù),也有http request和soap request應(yīng)對測試

Postman:Postman 是一款restful api的測試工具棚饵,既有g(shù)oogle瀏覽器插件煤裙,也有軟件

3.擴(kuò)展插件

postman:谷歌瀏覽器的擴(kuò)展工具,主要用來做接口測試噪漾,谷歌商店中選中安裝硼砰,界面同poster差別不大,界面簡潔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欣硼,一起剝皮案震驚了整個濱河市题翰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诈胜,老刑警劉巖豹障,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異焦匈,居然都是意外死亡沼填,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門括授,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坞笙,“玉大人岩饼,你說我怎么就攤上這事⊙σ梗” “怎么了籍茧?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梯澜。 經(jīng)常有香客問我寞冯,道長,這世上最難降的妖魔是什么晚伙? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任吮龄,我火速辦了婚禮,結(jié)果婚禮上咆疗,老公的妹妹穿的比我還像新娘漓帚。我一直安慰自己,他們只是感情好午磁,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布尝抖。 她就那樣靜靜地躺著,像睡著了一般迅皇。 火紅的嫁衣襯著肌膚如雪昧辽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天登颓,我揣著相機(jī)與錄音搅荞,去河邊找鬼。 笑死框咙,一個胖子當(dāng)著我的面吹牛取具,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扁耐,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼产阱!你這毒婦竟也來了婉称?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤构蹬,失蹤者是張志新(化名)和其女友劉穎王暗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庄敛,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俗壹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了藻烤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绷雏。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡头滔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涎显,到底是詐尸還是另有隱情坤检,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布期吓,位于F島的核電站早歇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏讨勤。R本人自食惡果不足惜箭跳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潭千。 院中可真熱鬧谱姓,春花似錦、人聲如沸脊岳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽青团。三九已至,卻和暖如春特漩,著一層夾襖步出監(jiān)牢的瞬間亿驾,已是汗流浹背嘹黔。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莫瞬,地道東北人儡蔓。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像疼邀,于是被迫代替她去往敵國和親喂江。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 網(wǎng)絡(luò)協(xié)議 0.1 http與https 10.1.1 什么是超文本 超文本是用超鏈接的方法旁振,將各種不同空間的文字信...
    會冒泡的魚____閱讀 514評論 0 0
  • 7.6知識點(diǎn)總結(jié)(接口測試) 分類專欄: 筆記 文章標(biāo)簽: 測試類型 版權(quán) 接口測試 二.網(wǎng)絡(luò)基礎(chǔ)概念 1. 客戶...
    遺憾與人海中閱讀 198評論 0 0
  • 大家一直都在說接口自動化获询,但對于接口測試的基礎(chǔ)HTTP協(xié)議,你了解多少呢拐袜? HTTP協(xié)議采用了請求/響應(yīng)模型吉嚣。客戶...
    曉莫莫閱讀 4,937評論 3 88
  • 接口測試 二.網(wǎng)絡(luò)基礎(chǔ)概念 1. 客戶端:應(yīng)用 C/S(客戶端/服務(wù)器) B/S(瀏覽器/服務(wù)器) 2. 服務(wù)器:...
    h枯心易涼閱讀 120評論 0 0
  • 接口測試 二.網(wǎng)絡(luò)基礎(chǔ)概念 客戶端:應(yīng)用 C/S(客戶端/服務(wù)器) B/S(瀏覽器/服務(wù)器) 服務(wù)器:為客戶端提供...
    快樂舔狗董梟垚閱讀 316評論 0 0