zoukankan      html  css  js  c++  java
  • 接口相关基础介绍

    常见的接口协议:

    1、HTTP  超文本传输协议

    2、HTTPS  安全超文本传输协议

    3、FTP  文件传输协议( Xshell的文件拖拽)

    4、TCP 网络控制协议

    5、IP  互联网协议

    6、UDP  用户数据协议

    常用到的接口:

    HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

    HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

    HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

    HTTP与HTTPS的区别
      1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

      2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

      3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

      4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    REST风格接口介绍

    就是用URL定位资源,用HTTP动词(GET,POST,DELETE,PUT)描述操作;

    举个栗子:

    URL 用来定位资源,跟要进行的操作区分开,这就意味这 URL 不该有任何动词。

    比如,我们有一个friends接口,对于“朋友”我们有增删改查四种操作,怎么定义REST接口?
    增加一个朋友,uri: generalcode.cn/va/friends 接口类型:POST
    删除一个朋友,uri: generalcode.cn/va/friends 接口类型:DELETE
    修改一个朋友,uri: generalcode.cn/va/friends 接口类型:PUT
    查找一个朋友,uri: generalcode.cn/va/friends 接口类型:GET

    上面我们定义的四个接口就是符合REST协议的,这几个接口都没有动词,只有名词friends,都是通过Http请求的接口类型来判断是什么业务操作。定义这样一套统一的接口,在web,ios,android三端都可以使用相同的接口,十分方便。

    http接口的构成(举例说明:查看vdc接口)

    request header

    GET /api//cloud/virtualdatacenters?enterprise=1 HTTP/1.1                               请求方式/接口地址/HTTP版本

    Host: 192.168.3.183                                                                                           主机IP地址

    Connection: keep-alive                                                                                       保持连接状态(如果设置了代理抓包,就会变成Proxy-Connection )

    Accept: application/vnd.esage.virtualdatacenters+json;version=3.0                  客户端希望接收的数据类型

    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36                       用户代理(想访问网站提供所使用的浏览器类型、版本、操作系统)

    Referer: http://192.168.3.183/ui/navroute/hypervisor                                        指示改请求从哪儿链接过来的(防盗链/统计网站流量)

    Accept-Encoding: gzip, deflate                                                                          客户端发送给服务端,声明服务端支持的接收内容编码

    Accept-Language: zh-CN,zh;q=0.9                                                                   客户端发送给服务端,声明服务端支持的接收接收语言

    Cookie: token=1cb9a9e4-6eb1-4ef8-838c-b9e1322813e3; ESGSESSIONID=6257001126885626317; auth=bGl4aWFvcWlhbjoxNTY3MTU1NTgwMzkxOjI5NWZjM2ZjMmIxY2U0ODNlNDRkNjQ2MzI3NjA5NWE5OkVTQUdF 用户Cookie信息(用户登录的时候,认证成功后,会返回token和auth,在下次请求拼接成一个Cookie信息)

    response header

    HTTP/1.1 200 OK                                                                                                  HTTP版本/响应码

    Date: Fri, 30 Aug 2019 08:16:16 GMT                                                                  响应返回时间

    Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips                                          服务器信息

    Set-Cookie: auth=bGl4aWFvcWlhbjoxNTY3MTU2NTc2MDY5OjkzZGIxNWUyMGQ3NWY1ZmRjNGU2NGYzY2IxZGE2MTM3OkVTQUdF; Expires=Fri, 30-Aug-2019 09:16:16 GMT; Path=/; HttpOnly

    Content-Type: application/vnd.esage.virtualdatacenters+json; version=3.0         表示实际发送的数据格式

    Keep-Alive: timeout=5, max=96                                                                            过期时间5s,max过了96s,强制断掉链接(max会自动减1,直到为0,会强制断掉链接)

    Connection: Keep-Alive                                                                                        保持连接状态                           

    Transfer-Encoding: chunked                                                                                分段传输数据方式(HTTP数据传输数据方式,运行服务器发送给客户端的数据可以分成多个部分, Content—length表示数据的长度,可以知道什么时候截数据)

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    fs.readdirSync
    symbol
    vuex-count
    webpack2.0
    关于vuex报错
    store
    .NET MVC 验证码
    SQLServer 加密
    IE10、IE11下SCRIPT5009: “__doPostBack”未定义
    Sql Server 增加字段、修改字段、修改类型、修改默认值
  • 原文地址:https://www.cnblogs.com/xuezhimin-esage-2020/p/14179975.html
Copyright © 2011-2022 走看看