• 接口和http协议(一)


    一、接口

    硬件接口和软件接口

    软件接口:前台和后台传递数据的通道

    API:application programming interface应用程序可编程接口

    API:web API/Http API 和 其他API

    我们通常所说的API就是web API/Http API,需要联网,需要使用web协议,而其他API不需要联网,不需要使用web协议,比如os.path.abspath()此处就是一个api。

    接口的作用:连接两个不同的事物,传递数据,实现交互

    以下都是对接口的解说:

    1)前后台数据交互的通道
    2)一个功能的实现
    3)接口的本质:其实就是后台一个函数,接口文档里面描述的接口参数其实就是函数的参数,接口的返回数据就是函数的返回值,函数公开访问才能是接口
    4)别人可以访问到的函数就叫API
    5)接口,两个事物之间进行适配的一种工具、规范和协议。

    二、HTTP协议

    1、协议:双方需要遵守的规则和约定,具有法律效益

    如网络协议:需要使用Internet,就需要遵守internet的协议,不然你发送了信息,别人也收不到。

    2、模式

    C/S模式

    1)我们通常所说的C/S模式,大部分都是指的pc端桌面应用程序与server的形式。其实是不严谨的

    2)B/S:Browser/Server:浏览器是客户端,B/S也是C/S的一种

    3)客户端client:能够发起对应请求,主动发起请求

    4)服务端server:被动接收请求,并处理请求,返回处理结果,轮询,等待请求

    P2P(peer to peer)端对端

    1)端对端,每个端都既做服务端又是客户端

    2)种子

    3、HTTP 请求

    1)请求首行

    url:域名或者ip地址  端口号

    请求方法:get、post、put、delete、head、options、connect等,常用的get、post、put、delete

    get和post的区别:

    GET表示获取资源,POST表示创建资源
    GET:传递参数:query string 查询字符串,放在url地址中,?key=value&key2=value2的形式;POST不仅可以使用query string,而且还能将数据放在请求体里
    GET没有请求体,POST有请求体
    POST:传递参数form/json;query string查询字符串
    POST传递数据更多些,因为传入数据多,所以速度相对慢些
    POST比GET安全

    方法解说:

    get:请求展示指定的资源,用于获取资源
    post:用于提交指定资源的实体,通常会改变服务器的状态或副作用,用于修改,创建,删除相关资源

    put:用于取代指定资源的表现,用于修改指定资源
    options:允许客户端查看服务器的性能。
    delete:删除指定资源
    head:与get方法相同的回应,但它没有回应的主体
    connect:会和指定资源标明的服务器之间建立隧道

    TRACE 回显服务器收到的请求,主要用于测试或诊断。

    PATCH 实体中包含一个表,表中说明与该URI所表示的原内容的区别

    COPY 请求服务器将指定的页面拷贝至另一个网络地址。

    LINK 请求服务器建立链接关系。

    UNLINK 断开链接关系。

    WRAPPED 允许客户端发送经过封装的请求。

     Extension-mothed 在不改动协议的前提下,可增加另外的方法。

    远程ip地址

    协议版本

    2)请求头

    User-Agent:用户代理-----》发送请求的载体

    content-type:发送请求数据的格式,由开发决定

    cookie:

    3)请求体

    4、HTTP响应

    1)响应首行

    状态码:是用以表示网页服务器超文本传输协议响应状态的3位数字代码

    1XX:Informational 信息(啥都不用做,知道就好)
    2XX:Successful成功(啥也不用做,知道就好)
    201:POST创建成功后要返回201
    204:资源修改成功
    3XX:Redirection重定向(重新请求返回的新地址-》才能获取真正需要的数据)
    301:永久重定向
    302:临时重定向
    304:not modified(缓存)
    4XX:Client Error客户端的错误(确保用正确的参数和信息正确,重新请求)
    401:没有权限访问(用户名没有登录)
    403:禁止访问(用户登录了,但是没有权限访问,比如需要更高权限进行修改和删除数据)
    404:找不到资源
    405:Method not allow,方法不对,比如需要使用get方法,但是使用了post
    5XX:Server Error服务器端的错误(一般来说都无需啥操作-》往往需要服务器端改了bug后,重新发送请求)
    500:服务器内部错误

    2)响应头

    content-type:服务器返回的数据格式,由开发决定

    set:cookie

    3)响应体

    返回的数据

    json,text,html

    本文来自博客园,作者:%女王%,转载请注明原文链接:https://www.cnblogs.com/lynne-wu/p/14273575.html

  • 相关阅读:
    7.18学习日志
    7.16学习日志
    5 Things They Never Tell You About Making iPhone Apps
    MantisBT
    25款实用的桌面版博客编辑器
    【转】如何学会600多种编程语言
    开发者如何提升和推销自己
    CleanMyMac 1.10.8
    VMWARE FUSION 6 KEY
    cocos2dx shader
  • 原文地址:https://www.cnblogs.com/lynne-wu/p/14273575.html
Copyright © 2020-2023  润新知