当前位置: 首页 > news >正文

什么是web接口

当我们在请求一个页面的时候,会显示服务器返回的资源,其中包含了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:由于超载或系统维护,服务器暂时无法处理客户端请求      

转载于:https://www.cnblogs.com/fanjq/p/7912507.html

相关文章:

  • ubuntu下usb转串口设置
  • Python+Nginx实现邮件POP、IMAP、SMTP代理配置介绍
  • cookie setCookie sessionId
  • C# CancellationTokenSource和CancellationToken的实现
  • 制作首页的显示列表。
  • AjaxToolKit之Rating控件的使用(http://www.soaspx.com/dotnet/ajax/ajaxtech/ajaxtech_20091021_1219.html)...
  • 运行java web项目时报错:Several ports (8005, 8080, 8009) required
  • 备忘,查询信号质量的AT
  • Json学习整理
  • 将hdfs 上的文件通过shell脚本 导入到hive上面
  • 浅谈双绞线在视频监控系统中的实际应用
  • [linux] C语言Linux系统编程进程基本概念
  • Solr部署到tomcat,通过war包
  • FreeTextBox使用详解
  • 《Unity3D 实战核心技术详解》书中关于矩阵的错误
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript异步流程控制的前世今生
  • laravel with 查询列表限制条数
  • python docx文档转html页面
  • Python 基础起步 (十) 什么叫函数?
  • tweak 支持第三方库
  • 从零开始学习部署
  • 第十八天-企业应用架构模式-基本模式
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前嗅ForeSpider教程:创建模板
  • 区块链分支循环
  • 用Visual Studio开发以太坊智能合约
  • 中文输入法与React文本输入框的问题与解决方案
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 如何正确理解,内页权重高于首页?
  • ​configparser --- 配置文件解析器​
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $.proxy和$.extend
  • (30)数组元素和与数字和的绝对差
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET NPOI导出Excel详解
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .Net 路由处理厉害了
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET多线程执行函数
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .net快速开发框架源码分享
  • 。Net下Windows服务程序开发疑惑
  • @requestBody写与不写的情况
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)