什么是webservice接口

Web Service是一个应用程序。它不依赖于语言、不依赖于平台,可以实现不同的语言(通过 xml 格式的信息)间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如XML信息。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。

下面是1个webservice接口示例

发送报文:<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://WebXml.com.cn/"><soapenv:Header/><soapenv:Body><web:getSupportCity><!--Optional:--><web:byProvinceName>北京</web:byProvinceName></web:getSupportCity></soapenv:Body>
</soapenv:Envelope>返回报文:<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><getSupportCityResponse xmlns="http://WebXml.com.cn/"><getSupportCityResult><string>北京 (54511)</string><string>上海 (58367)</string><string>天津 (54517)</string><string>重庆 (57516)</string></getSupportCityResult></getSupportCityResponse></soap:Body>
</soap:Envelope>

通过这个示例,说明webservice通过Internet进行基于Http协议的网络应用间的交互。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

什么是Http接口

Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

1、请求行

请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。
最常用的方法有:
GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,

POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。
2、请求头部

请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

User-Agent:产生请求的浏览器类型。

Accept:客户端可识别的内容类型列表。

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

3、空行

最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头。
4、请求正文

请求数据不在GET方法中使用,而是在POST方法中使用。POST方法适用于需要客户填写表单的场合。与请求数据相关的最常使用的请求头是Content-Type和Content-Length。

HTTP响应消息

在接收和解释请求消息后,服务器返回一个HTTP响应消息。

HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。

文章参考链接

webservice接口与HTTP接口学习笔记

webservice接口与HTTP接口相关推荐

  1. 转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念

    http接口.api接口.RPC接口.RMI.webservice.Restful等概念 收藏 Linux一叶 https://my.oschina.net/heavenly/blog/499661 ...

  2. 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战

    目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...

  3. http接口、api接口、RPC接口、RMI、webservice、Restful等概念

    在这之前一定要好好理解一下接口的含义,我觉得在这一类中接口理解成规则很恰当         http接口:基于HTTP协议的开发接口.这个并不能排除没有使用其他的协议. api接口:API(Appli ...

  4. webservice接口与restful接口

    webservice接口与restful接口的区别: 1.接口调用方式: webservice接口:soap报文,<尖括号>, restful接口:json文件,"双引号&quo ...

  5. JAVA调用SAP接口地址_Java以webservice方式调用SAP接口传输数据

    Java以webservice方式调用SAP接口传输数据,在SAP中生成 会计凭证/冲销会计凭证 1.生成会计凭证(已完成) 2.冲销会计凭证(以下教程截图以该接口为例) Java调用sap的webs ...

  6. python 接口自动化_Python 接口自动化测试

    1. 接口基础知识 1.1 接口分类 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口. (1) webservice接口:走soap协议通过http传输,请求报文和返回报文都是xml格 ...

  7. 接口自动化测试框架--接口基础

    说到接口自动化测试框架就想到了测试开发工程师. 一.测试开发工程师的要求是什么呢? 1.接口基础 2.接口开发 3.unittest/pytest与接口测试结合 4.从设计到开发接口测试框架 那我们接 ...

  8. SAP工具箱 自动生成发出接口程序(二 接口定义表)

    点击蓝字 关注我们 一 前言 前文介绍了发出接口程序的执行原理及怎么自动生成发出接口程序. 详见链接 无峰,公众号:ABAP 技巧与实战SAP工具箱 自动生成发出接口程序(一) 本文主要介绍生成发出接 ...

  9. Go 学习笔记(71)— Go 接口 interface (接口定义、接口实现、接口调用、值接收者、指针接收者)

    1. 接口的定义 接口是和调用方的一种约定,它是一个高度抽象的类型,不用和具体的实现细节绑定在一起.接口要做的是定义好约定,告诉调用方自己可以做什么,但不用知道它的内部实现,这和我们见到的具体的类型如 ...

  10. Go 学习笔记(35)— Go 接口 interface (接口声明、接口初始化、接口方法调用、接口运算、类型断言、类型查询、空接口)

    1. 接口概念 接口是双方约定的一种合作协议.接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节.接口是一种类型,也是一种抽象结构,不会暴露所含数据的格式.类型及结构. 接口内部存 ...

最新文章

  1. 别拿BI不当产品(上)进击的数据产品
  2. linux shell sed d删除指定行并更换分隔符为#
  3. Bootloader详解
  4. linux异步实现原理,Android异步处理四:AsyncTask的实现原理
  5. Webpack搭建React开发环境
  6. 一加7pro系统更新android10,一加OnePlus7T Pro官方安卓10.0稳定版出厂系统固件升级更新包...
  7. 查询分析300万笔记录_给你100万条数据的一张表,你将如何查询优化?
  8. Linux下C/C++程序编译链接加载过程中的常见问题及解决方法
  9. 【动态规划】多重背包
  10. Debian系统apt-get build-dep命令
  11. 华为ensp命令大全_计算机网络 实验六----eNSP基础解答
  12. MAC安装maven步骤
  13. 【Ubuntu】Ubuntu16.04安装火狐浏览器中国版
  14. ELEMENTARY: Is Even
  15. 层次高的人,都拥有成长型思维
  16. CSDN文章如何迁移至微信公众号
  17. Java Pair的使用
  18. SpringSecurity(安全)
  19. OpenX系列标准介绍(2):OpenDRIVE实例分析
  20. 刀片服务器在哪看cpu型号,了解认识刀片服务器

热门文章

  1. 日志管理系统,多种方式总结
  2. C语言从入门到放弃2022年8月2号
  3. 励磁电感公式_永磁同步电机交直轴电感计算
  4. 【程序员的吃鸡大法】利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏...
  5. 安卓吃鸡玩家专属:教你电脑玩刺激战场匹配手机最简单的方式
  6. deap dataset的不同分类模型的实现(1)
  7. Mirth Connect 第二章 什么是通道?
  8. 32G内存服务器如何设置虚拟内存,大内存服务器设置虚拟内存
  9. Hvdc-vsc. 基于vsc的柔性直流输电模型 pscad实现
  10. 线性代数系列(八)--线性代数和图论