接口基礎知識1:認識接口

課程大綱

圖片

一、定義

????????接口:外部與系統之間、內部各子系統之間的交互點。

????????比如日常使用的電腦,有電源接口、usb接口、耳機接口、顯示器接口等,分別可以實現:與外部的充電、文件數據傳輸、聲音輸入輸出、圖像輸入輸出等功能。

????????接口的本質:經過封裝的類;傳遞數據的通道。

????????接口測試的本質:模擬客戶端向服務器發送請求。

二、分類

1、按內外分

????????按照系統內外分為:外部接口、內部接口

????????內部接口可再分為:上層服務與下層服務接口、同級接口。

2、按協議分

常見的接口協議:

1.HTTP

????????超文本傳輸協議(HyperText Transfer Protocol)。

????????簡單的“請求-響應”協議,通常運行在TCP之上。

????????它指定了客戶端可能發送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以ASCII形式給出;消息內容具有類似MIME(通用互聯網郵件擴充協議)的格式。

????????是一種用于分布式、協作式和超媒體信息系統的應用層協議,是萬維網WWW(World Wide Web)的數據通信的基礎。

2.HTTPS

????????安全超文本傳輸協議(Hyper Text Transfer Protocol over Security Socket Layer)。

????????對HTTP協議的一種擴展,它在HTTP的基礎上加入了SSL/TLS協議進行數據加密和認證,使通過HTTPS傳輸的數據更加安全可靠。

3.FTP

????????文件傳輸協議(File Transfer Protocol)。

????????是 TCP/IP 協議組中的協議之一。

????????允許用戶以文件操作的方式(如文件的增、刪、改、查、傳送等)與另一主機相互通信。常用:Xshell的文件拖拽。

????????FTP協議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端。其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位于FTP服務器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web服務器上。此外,由于FTP傳輸效率非常高,在網絡上傳輸大的文件時,一般也采用該協議。

????????默認情況下FTP協議使用TCP端口中的 20和21兩個端口:20用于傳輸數據,21用于傳輸控制信息。

????????但是,是否使用20作為傳輸數據的端口與FTP使用的傳輸模式有關:如果采用主動模式,那么數據傳輸端口就是20;如果采用被動模式,則具體最終使用哪個端口要服務器端和客戶端協商決定。

4.TCP

????????傳輸控制協議(Transmission Control Protocol)

????????一種面向連接的、可靠的、基于字節流的傳輸層通信協議。

????????是為了在不可靠的互聯網絡上提供可靠的端到端字節流而專門設計的一個傳輸協議。

????????“三次握手,四次揮手”:

圖片

(建立連接:三次握手)

圖片

(關閉連接:四次揮手)

5.IP?

????????網際互連協議(Internet Protocol)。

????????即互聯網協議,是TCP/IP體系中的網絡層協議。

????????設計目的是提高網絡的可擴展性:

????????1、解決互聯網問題,實現大規模、異構網絡的互聯互通;

????????2、分割頂層網絡應用和底層網絡技術之間的耦合關系,以利于兩者的獨立發展。

????????根據端到端的設計原則,IP只為主機提供一種無連接、不可靠的、盡力而為的數據包傳輸服務。

6.UDP?

????????用戶數據協議(Open Systems Interconnection)

????????使用IP作為底層協議,是為應用程序提供一種以最少的協議機制向其他程序發送消息的協議。

????????它與TCP協議一樣用于處理數據包,其主要特點是無連接,不保證可靠傳輸和面向報文。

參考文章:

1、《正確甄別API、REST API、RESTful API和Web Service之間的異同》

https://cloud.tencent.com/developer/article/1448167

2、《soap接口》

https://blog.51cto.com/topic/846a5d85bca5b40.html

3、《常見的接口協議》

https://www.jianshu.com/p/a7ae9d0d4c10

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43912.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43912.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43912.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

262個地級市-市場潛力指數(do文件+原始文件)

全國262個地級市-市場潛力指數(市場潛力計算方法代碼數據)_市場潛力數據分析資源-CSDN文庫 市場潛力指數:洞察未來發展的指南針 市場潛力指數是一個綜合性的評估工具,它通過深入分析市場需求、競爭環境、政策支持和技術創新等多個…

面向字節流傳輸數據

當提到“傳輸數據面向字節流”,這是指在網絡通信中,數據被視作一連串的無結構字節,而不是按照特定的數據塊或記錄進行傳輸。這種傳輸方式是面向傳輸層協議(如TCP)的一個特性,它允許數據以連續的字節流形式在…

phpstudy框架,window平臺,如何開端口給局域網訪問?

Windows平臺上使用phpstudy框架開端口給同事訪問,主要涉及到幾個步驟:查看并確認本機IP地址、配置phpstudy及網站項目、開放防火墻端口以及確保同事能夠通過局域網訪問。以下是詳細的步驟說明: 1. 查看并確認本機IP地址 首先,需…

SQLAlchemy pool_pre_ping

pool_pre_ping 是 SQLAlchemy 中 create_engine 函數的一個參數,它用于配置連接池的行為。當設置為 True 時,pool_pre_ping 啟用了連接池在每次從池中取出(即“簽出”或“checkout”)連接之前,先測試該連接是否仍然活躍…

(2)滑動窗口算法練習:無重復字符的最長子串

無重復字符的最長子串 題目鏈接:3. 無重復字符的最長子串 - 力扣(LeetCode) 給定一個字符串 s ,請你找出其中不含有重復字符的最長子串的長度。 輸入: s "abcabcbb" 輸出: 3 解釋: 因為無重復字符的最長子串是"a…

mov視頻怎么改成mp4?把mov改成MP4的四個方法

mov視頻怎么改成mp4?選擇合適的視頻格式對于確保內容質量和流通性至關重要。盡管蘋果公司的mov格式因其出色的視頻表現備受贊譽,但在某些情況下,它并非最佳選擇,因為使用mov格式可能面臨一些挑戰。MP4格式在各種設備(如…

構造二進制字符串

目錄 LeetCode3221 生成不含相鄰零的二進制字符串 #include <iostream> #include <vector> using namespace std;void dfs(string s,int n,vector<string>& res){if(s.size()n){res.push_back(s);return;}dfs(s"0",n,res);dfs(s"1"…

使用redis進行短信登錄驗證(驗證碼打印在控制臺)

使用redis進行短信登錄驗證 一、流程1. 總體流程圖2. 流程文字講解&#xff1a;3.代碼3.1 UserServiceImpl&#xff1a;&#xff08;難點&#xff09;3.2 攔截器LoginInterceptor&#xff1a;3.3 攔截器配置類&#xff1a; 4 功能實現&#xff0c;成功存入redis &#xff08;黑…

搜維爾科技為空氣分離、氫氣、石化和天然氣工廠的現場操作員提供虛擬現實(VR)培訓

搜維爾科技為空氣分離、氫氣、石化和天然氣工廠的現場操作員提供虛擬現實(VR)培訓 搜維爾科技為空氣分離、氫氣、石化和天然氣工廠的現場操作員提供虛擬現實(VR)培訓

python 中關于append和extend的區別用法

#方法1 d[1,2,[3,4]] c[] for i in d:if type(i) int:c.append(i)else:c.extend(i)# append方法用于將單個元素添加到列表的末尾&#xff0c;這意味著無論元素是什么類型# &#xff08;如整數、字符串等&#xff09;&#xff0c;它都將作為一個獨立的元素添加到列表中。# exten…

UE5.2 AI實時摳像(無需綠幕) + OBS推流直播 全流程

最近通過2個UE5.2插件實現了從AI實時摳像到OBS推流的直播流程搭建&#xff0c;也為了水一篇博客&#xff0c;就在這里記錄一下了&#xff0c;覺得沒有意思的朋友&#xff0c;這里先說為敬了。 具體教程參考&#xff1a;【UE5 AI摳像OBS推流全流程&#xff08;簡單免費&#xf…

華為機考真題 -- 尋找身高相近的小朋友

題目描述: 小明今年升學到z小學—年級,來到新班級后發現其他小朋友們身高參差不齊,然后就想基于各4朋友和自己的身高差q對他們進行排序,請幫他實現排序。 輸入描述: 有一行為正整數h和n,0<h<200,為小明的身高,0<n<50,為新班級其他小朋友個數。 第二行為…

java中 使用數組實現需求小案例

Date: 2024.04.08 18:32:57 author: lijianzhan 需求實現&#xff1a; 設計一個java類&#xff0c;java方法&#xff0c;根據用戶手動輸入的績點&#xff0c;從而獲取到績點最高的成績。 實現業務邏輯的代碼塊 import java.util.Scanner;public class PointDemo {/*** 需求&…

Spring相關面試題(四)

49 JavaConfig方式如何啟用AOP?如何強制使用cglib&#xff1f; 在JavaConfig類&#xff0c;加上EnableAspectJAutoProxy 如果要強制使用CGLIB動態代理 &#xff0c;加上(proxyTargetClass true) 加上(exposeProxy true) 就是將對象暴露到線程池中。 50 介紹AOP在Spring中…

【3】遷移學習模型

【3】遷移學習模型 文章目錄 前言一、安裝相關模塊二、訓練代碼2.1. 管理預訓練模型2.2. 模型訓練代碼2.3. 可視化結果2.4. 類別函數 總結 前言 主要簡述一下訓練代碼 三葉青圖像識別研究簡概 一、安裝相關模塊 #xingyun的筆記本 print(xingyun的筆記本) %pip install d2l %…

詳解TCP和UDP通信協議

目錄 OSI的七層模型的主要功能 tcp是什么 TCP三次握手 為什么需要三次握手&#xff0c;兩次握手不行嗎 TCP四次揮手 揮手會什么需要四次 什么是TCP粘包問題&#xff1f;發生的原因 原因 解決方案 UDP是什么 TCP和UDP的區別 網絡層常見協議 利用socket進行tcp傳輸代…

【js面試題】深入理解DOM操作:創建、查詢、更新、添加和刪除節點

面試題&#xff1a;DOM常見的操作有哪些 引言&#xff1a; 在前端開發中&#xff0c;DOM&#xff08;文檔對象模型&#xff09;操作是日常工作中不可或缺的一部分。DOM提供了一種以編程方式訪問和更新文檔內容、結構和樣式的接口。 任何html或 xml 文檔都可以用dom表示為一個由…

KIVY Button?

Button — Kivy 2.3.0 documentation Button Jump to API ? Module: kivy.uix.button Added in 1.0.0 The Button is a Label with associated actions that are triggered when the button is pressed (or released after a click/touch). To configure the button, the s…

【論文速讀】| 用于安全漏洞防范的人工智能技術

本次分享論文&#xff1a;Artificial Intelligence Techniques for Security Vulnerability Prevention 基本信息 原文作者&#xff1a;Steve Kommrusch 作者單位&#xff1a;Colorado State University, Department of Computer Science, Fort Collins, CO, 80525 USA 關鍵…

ISO/OSI七層模型

ISO:國際標準化/ OSI:開放系統互聯 七層協議必背圖 1.注意事項&#xff1a; 1.上三層是為用戶服務的&#xff0c;下四層負責實際數據傳輸。 2.下四層的傳輸單位&#xff1a; 傳輸層&#xff1b; 數據段&#xff08;報文&#xff09; 網絡層&#xff1a; 數據包&#xff08;報…