当我们在请求一个页面的时候,会显示服务器返回的资源,其中包含了HTML、CSS和JS,除此之外,服务器还可以返回图片、视频、字体和插件等类型的资源。这些资源全部由HTTP协议传输。

如果把HTTP协议看作是高速公路的话,那么在高速公路上跑的各种拉满不同货物的车辆就是资源。不同的车辆装载的货物不一样,因此他们的目的地也不一样。比如有些车辆拉的是生猪,是要送到屠宰场的;有些车辆拉的是西瓜,是要送到水果批发市场的。HTTP协议上传输的资源也是一样,类型不同,作用也不一样。数据就是其中的一种资源,数据是接口的本质,你可以把数据当作我们要运输的货物西瓜。首先我们可以选择不同的运输方式,走高速公路或走铁路,这就是数据传输协议的选择(如HTTP/SOAP),其次是西瓜的存放方式,是直接将西瓜堆积到车厢里,还是把每个西瓜放到盒子里再装箱,这就是数据格式的选择(如XML、JSON、csv)。

HTTP协议,是从万维网(www)服务器传输超文本到本地浏览器的传送协议。HTTP基于TCP/IP通信协议来传递数据(HTML文件、图片文件、媒体等)

HTTP协议工作于客户端-服务器架构上。浏览器作为客户端通过url向http服务端(即web服务器)发送请求。

HTTP协议的主要特点:1、无连接:无连接的含义是限制每次连接只能处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。2、媒体独立:只要客户端和服务器知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。3、无状态:指协议对事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

HTTP请求方法:POST:向指定资源提交数据进行处理请求(例如提交表单或上传文件),数据被包含在请求体中。post请求可能会导致新的资源的建立或已有资源的修改

GET:请求指定页面的信息,并返回实体主体

         HEAD:类似于GET,只不过返回的相应中没有具体的内容,用于获取报头

         PUT:从客户端向服务器传送的数据取代指定文档的内容

         DELETE:请求服务器删除指定的页面

         TRACE:请求服务器返回收到的请求信息,主要用于测试或诊断

        OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项或需求

响应状态码:

当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。

1XX:信息,服务器收到请求,需要请求者继续执行操作

2XX:成功,操作被成功接收并处理

3XX:重定向,需要进一步的操作以完成请求

4XX:客户端错误,请求包含语法错误或无法完成请求

5XX:服务器错误,服务器在处理请求的过程中发生了错误

200OK:请求成功,一般用于GET与POST请求。   302Fund:临时移动。资源只是临时被移动,客户端赢继续使用原有URL。    400Bad Request:客户端请求有语法错误,不能被服务器所理解。  403Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。   401Unauthorized:请求要求用户的身份认证。  404Not Found:服务器无法根据客户端的请求找到资源。

500Internal Server Error:服务器内部错误,无法完成请求。 503server Unavailable:由于超载或系统维护,服务器暂时无法处理客户端请求      

什么是web接口的更多相关文章

  1. 《Python Web 接口开发与测试》---即将出版

    为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化相关的,工作中的接口自动化颇有成效. 我一直是一个没有测试大格局的人,在各种移动测试技术爆发的这一年,我却默默耕耘着自己的一亩三分地儿(We ...

  2. web接口开发与测试

    最近一直在学习和整理web开发与接口测试的相关资料.接口测试本身毫无任何难度,甚至有很多工具和类库来帮助我们进行接口测试.大多测试人员很难深入了解web接口测试的原因是对web开发不太了解,当你越了解 ...

  3. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

  4. python WEB接口自动化测试之requests库详解

    由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试. 所以笔者今 ...

  5. 《Web接口开发与自动化测试 -- 基于Python语言》 ---前言

    前    言 本书的原型是我整理一份Django学习文档,从事软件测试工作的这六.七年来,一直有整理学习资料的习惯,这种学习理解再输出的方式对我非常受用,博客和文档是我主要的输出形式,这些输出同时也帮 ...

  6. oracle触发器 调用 web接口

    最近要求开发当数据表发生变化的时候调用web接口的需求,上网找了好几篇文章看着都觉得不是很好,也根据别人的思路去实现了下,感觉都不太理想,最后使用URLConnection实现了调用.具体查看一下代码 ...

  7. 关于《Web接口开发与自动化测试--基于Python语言》

    关于封面logo 首先,你会被书封上面logo吸引,这么炫酷?双蛇杖?嗯,这是Requests的新logo. 旧的logo是一只乌龟. 新logo是双蛇杖: 看到新logo我首先想到的是 火爆全网页游 ...

  8. 《Web接口开发与自动化测试 -- 基于Python语言》---现已出版。

    终于可以购买了!! 有需要的同学通过下面链接购买. 购买来链接: https://item.jd.com/11806319423.html 为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化 ...

  9. web接口的开发

    老样子,抛出一个问题:什么是接口? 不解释了,百度吧. 了解起来先从HTTP开始说起吧. HTTP协议的特点: 1,无连接,就是指每次连接都仅仅只处理一个请求,服务器处理完客户的请求之后,收到客户的应 ...

  10. Android应用安全之WEB接口安全

    Android应用安全不仅包括客户端的安全,也包括web接口的安全.移动App中的Web接口安全主要分为以下几块: 1.SQL注入漏洞 这是一个不能再常见的漏洞类型了,由于App的特性,开发人员认为使 ...

随机推荐

  1. idea,eclipse创建多模块项目

    新建一个maven项目 iead,新建是不选择archetype,新建好之后,pom中的 <packaging>pom</packaging>节点是默认的,如果不是要改成这这样 ...

  2. 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结

    Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...

  3. python笔记- 发送邮件

    依赖: Python代码实现发送邮件,使用的模块是smtplib.MIMEText,实现代码之前需要导入包: import smtplib from email.mime.text import MI ...

  4. 百度富文本编辑器UEditor报【类型"Uploader"同时存在】错误

    错误信息: 类型“Uploader”同时存在.... 解决方案: 方法一:将UEditor的net文件夹下的Uploader.cs文件的生成操作属性默认是“编译”,只需要将这个文件的生成操作属性改为“ ...

  5. [转]VMPlayer的Briged网络配置

    VMware.VMware Player.VirtualBox.Windows Virtual PC等虚拟机软件都提供了桥接(bridged).网络地址转换(network address trans ...

  6. Install EPEL repo on CentOS 7 / RHEL 7

    On CentOS 7, we have found without downloading the epel-release RPM package(as we used to do on prev ...

  7. asp.net网站防恶意刷新的Cookies与Session解决方法

    本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧.分享给大家供大家参考.具体实现方法如下: Session版实现方法: public ...

  8. Python 个人常用汇总

    Python 常用文件操作总结: 导入库路径:sys.path.append('/usr/local/lib/python2.7/site-packages') from random import ...

  9. vue项目创建步骤小结

    第一步创建项目目录demo cd demo npm init  生成package.json 初始化项目工具使用 命令行工具 (CLI) 快速初始化 # 全局安装 vue-cli $ npm inst ...

  10. Eclipse设置护眼背景

    Window-->Preferences-->General-->Editors-->Text Editors-->Background color 自定义颜色:色调:8 ...