python接口自動化(一)--什麼是接口、接口優點、類型(詳解) (轉載)

轉自:https://www.cnblogs.com/du-hong/p/10488565.html

常見的接口類型

  接口是指外部系統與系統之間以及內部各子系統之間的交互點。包括外部接口、內部接口,內部接口又包括:上層服務與下層服務接口、同級接口。html

  常見web接口:一類是http協議的接口,另外一類是web service接口(如soup、rmi、rpc協議)。本文主要介紹http請求接口。web

  常見的http請求方式包括:get(查)、post(增),除此以外還有put(改)、delete(刪)等。平常工做中見到的最多的是get和post兩種。面試

   GET:GET能夠說是最多見的了,它本質就是發送一個請求來取得服務器上的某一資源。資源經過一組HTTP頭和呈現據(如HTML文本,或者圖片或者視頻等)返回給客戶端。GET請求中,永遠不會包含呈現數據。api

   POST:向服務器提交數據。這個方法用途普遍,幾乎目前全部的提交操做都是靠這個完成。它用來向指定資源提交數據進行處理請求(例如:提交表單和上傳文件),數據包被包含在請求體中,post請求可能致使新的資源的創建或者已有的資源的修改。瀏覽器

   PUT:這個方法比較少見。HTML表單也不支持這個。本質上來說, PUT和POST極爲類似,都是向服務器發送數據,但它們之間有一個重要區別,PUT一般指定了資源的存放位置,而POST則沒有,POST的數據存放位置由服務器本身決定。客戶端向服務器傳送的數據取代指定文檔的內容。安全

   舉個例子:如一個用於提交博文的URL,/addBlog。若是用PUT,則提交的URL會是像這樣的」/addBlog/abc123」,其中abc123就是這個博文的地址。而若是用POST,則這個地址會在提交後由服務器告知客戶端。目前大部分博客都是這樣的。顯然,PUT和POST用途是不同的。具體用哪一個還取決於當前的業務場景。服務器

  DELETE:刪除某一個資源。基本上這個也不多見,不過仍是有一些地方好比amazon的S3雲服務裏面就用的這個方法來刪除資源。工具

1)get型接口post

格式:請求數參數寫在網址後面,用"?"鏈接,多個參數之間用"&"鏈接。如:https://api.douban.com/v2/book/search?q='',這是一個豆瓣查詢圖書信息的開發api,q='',單引號裏就是查詢的參數,如查詢《小王子》這本書的信息,則q='小王子',使用postman工具來試驗一下,以下圖:性能

 

場景:get型接口用於獲取信息,多用於查詢數據,如列表查詢功能,點擊查詢按鈕就調用一個get接口,而後把信息返回出來

特色:1)請求數據量小,2)參數暴露於url地址中,故存在安全隱患

2)post型接口

說明:向指定資源位置提交數據(如提交表單、上傳文件)來進行請求,post請求可能會致使新資源的創建

場景:如註冊、上傳、發帖等功能,如用戶在豆瓣網站對某本書進行收藏、寫筆記、發表評論

特色:請求數據量大,安全性高

如豆瓣的發表評論的開放api,見下圖:

3)put型接口

說明:put請求用於向指定資源位置上傳最新內容

場景:如用戶在豆瓣網站修改對某本書的收藏、修改某篇筆記或修改評論

如豆瓣的修改評論的開放api,見下圖:

4)delete型接口

說明:請求服務器刪除請求裏url所標識的資源

場景:如用戶在豆瓣網站取消對某本書的收藏、刪除某篇筆記或刪除評論

如豆瓣的刪除評論的開放api,見下圖:

不常見的接口類型(瞭解便可)

    不常見的http請求方式包括:head、connect、options和trace。

    head:HEAD和GET本質是同樣的,區別在於HEAD不含有呈現數據,而僅僅是HTTP頭信息。換句話說,就是返回響應中沒有具體內容,只獲取報頭。有的人可能以爲這個方法沒什麼用,其實不是這樣的。想象一個業務情景:欲判斷某個資源是否存在,咱們一般使用GET,但這裏用HEAD則意義更加明確。

    connect:HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。

    options:這個方法頗有趣,但極少使用。它用於獲取當前URL所支持的方法。若請求成功,則它會在HTTP頭中包含一個名爲「Allow」的頭,值是所支持的方法,如「GET, POST」。容許客戶端查看服務器的性能。

    trace:回顯服務器收到的請求,主要用於測試和診斷。

附錄(get和post的區別)

這個問題,面試中常常被提到。簡單來講,能夠從三個方面去回到這個區別:方式、大小、安全

1).方式

方式指的是參數的傳入方式,GET方法通常是指獲取服務器上的數據,參數直接跟着URL後邊,直接能夠放到瀏覽器地址欄裏,例如登陸就是採用GET方法。而POST方法是指客戶端給服務器上提交表單數據,因此POST是經過表單提交的,例如你網頁上的新用戶的註冊、調查問卷和答題就是採用POST方法。

2).大小

上面已經知道GET是直接在瀏覽器地址欄輸入,因爲瀏覽器有限制,通常整個URL的長度能夠很長,可是不能超過2049KB的大小限制,而這個POST就沒有大小限制。

3).安全性

因爲GET的參數是在瀏覽器地址欄直接拼接,暴露在互聯網中,確定不安全。POST是經過表單數據提交,相對比GET方法更安全。

相關文章
相關標籤/搜索