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

网站建设服务预算南京林业大学实验与建设网站

网站建设服务预算,南京林业大学实验与建设网站,wordpress 获取用户ip,网站模板下载大全对HTTP协议的基本了解是能理解并使用RestFul风格API的基础#xff0c;在了解了这些基础之后#xff0c;使用各种RestFul的开发框架才能得心应手。我一开始使用WebApi的时候就因为对这些知识缺乏了解#xff0c;觉得用起来各种不顺手#xff0c;直到熟悉了这些HTTP的知识后在了解了这些基础之后使用各种RestFul的开发框架才能得心应手。我一开始使用WebApi的时候就因为对这些知识缺乏了解觉得用起来各种不顺手直到熟悉了这些HTTP的知识后使用WebApi开发起来才觉得得心应手我的理解里RestFul风格的API即是对HTTP协议良好支持实现HTTP完整语义风格的API。       在介绍这些知识之前我需要强调一下很多人存在的一个误区HTTP的谓词和数据传递方式。绝大多数人接触并使用的HTTP协议都是在网站编写的过程中在一般的WEB应用中我们仅使用GET、POST两个谓词其他谓词并不适用在这一习惯下很多人有几个奇怪的认知HTTP协议只适用于网站开发HTTP仅有两个谓词GET/POSTHTTP调用数据传递仅使用表单K-V的形式进行在这种认知下用这种风格开发的RestApi经常会不伦不类使用ASP.NET WebAPi也会显得不伦不类平添麻烦。而我们首先要认识到网站的数据交互只是HTTP使用的一个场景而已HTTP可以传递各种形式的数据。       我们从HTTP的第一行说起HTTP的第一行包含三个信息谓词、URL、HTTP协议版本。三个数据使用空格隔开。        谓词对于RestFul API来说谓词是非常重要的一个元素WEB API就是使用谓词作为默认的路由方式最常用的谓词有POST\DELETE\PUT\GET这四个谓词对应了“增、删、改、查”四个动作POST和PUT谁是增谁是改不同资料总有不同的说法我其实有略微有点困惑啦……有定义说PUT是幂等操作而POST不是那PUT就更偏重于改而POST更偏重于增。最常用的谓词即为这四个也有其他谓词拥有不同的语义 HEAD仅返回相应头部不包含Body TRACE对数据传输过程进行诊断 OPTIONS请求 Web 服务器告知其支持的各种功能 还有其他谓词如果需要可以查询相关文档但并不常用。 其中GETDELETE不包含BODYPUT,POST可以包含BODY。而如果一个谓词包含了语义之外的操作例如GET中带BODYPOST用于删除资源这种操作也是被允许的称之为谓词的重载虽然HTTP可以支持谓词的重载但并不建议使用因为不符合标准语义。           URL : URL定义了一个资源例如www.example.com/person 定义了person为一个资源结合上面所介绍的谓词我们提供Person一组操作          GET www.example/person/1 即获取ID为1的用户的信息          POST www.example/person/ (BODY中包含Person的描述) 创建一个Person资源          PUT www.example/person/1 (BODY中包含Person的描述) 更新一个Person资源          DELETE www.example/person/1 删除ID为1的Person资源                HTTP版本          目前主要使用的是HTTP1.0 和 HTTP1.1协议HTTP2.0协议正在普及阶段用的还不是很多。HTTP1.0 和HTTP1.1区别很小其中的差异对于RestFul来说影响并不是很大。具体的差别大家可以查询相关文档。          HTTP的第一行内容就是这些接下来会有一个\r\n来进行换行接下来就是HTTP HEAD部分HTTP HEAD描述了HTTP请求和响应。我认为HTTP HEAD即为HTTP协议中最重要的部分他包含了编码、BODY长度、内容协商等信息你也可以包含一些自定义信息。下面我来为大家介绍几个在RestFul API中常用的HEAD:          User-Agent:用户代理是什么客户端发出的请求如IE、Chrome、Fiddler等          HOST:域名HOST一般用于服务器的站点绑定一般和URL的域名相同但是在一些自定义的DNS使用方式中可能会出现HOST和URL中的域名不一致               Authorization验证信息这个字段可以包含一些用于用户验证的信息而表示方法为schema authorinfo中间使用空格隔开其中schema代表了验证方法authorinfo代表了验证信息常见的schema 如 Baseauthorinfo使用用户名密码并用Base64进行编码。或者使用Token类似于Session的方式。 Accept接受何种序列化方式返回的数据用MIME表示用于对响应数据的内容协商可以包含多个MIME按优先顺序排列如application/jsonapplication/xmltext/html具体服务器可以返回什么类型的数据需要由服务器支持情况而定有一些标准MIME可以查到有时我们也需要一些自定义的MIME例如bson、protocolbuffer等我们可以自定义MIME在服务端开发自己的实现而这些特的扩展在ASP.NET WebApi中都有相应的扩展点。          Content-Type:使用一个MIME表示表示所发送请求的Body的序列化方式常见的如application/json还有WEB交互最常使用的application/x-www-form-urlencoded都表示了你的body部分的序列化方式在请求、响应中都会出现            HTTP HEAD部分我认为是HTTP协议中最核心的部分其中可配置、使用的地方实在太多太多而且有太多的细节以上为我列出的在我的工作中最常用的部分介绍这些内容的资料全部列出来足够完成一本书了大家有兴趣可以查找相关资料在Rest API中内容协商经常让一开始学习使用Rest的人很迷惑一定要记住AcceptContent-Type两个头的作用和区别Accept表示希望接受什么样的数据Content-Type表示当前请求中Body的编码方式。在ASP.NET WEBAPI中如果请求中有Content-Type而没有ACCEPT则默认使用Content-Type中的内容作为响应的内容协商。                   响应部分也分为头部和Body响应头部和请求头部最大的不同在于响应首行存在一个HTTP CodeHTTP Code作为API的调用状态的展示也很重要在REST API中最常用的状态码一般为2XX,4XX,5XX三个段而1XX表示工作还要继续3XX一般表示重定向在REST API中使用的并不多。而在最常用的三个Status 段中2XX表示执行成功4XX表示客户端数据错误(例如参数校验不通过)5XX表示服务器端处理错误例如有未处理的异常(如数据库连接错误)根据这些状态码可以初步判断API调用的执行状态。                   在首部之后有一个空行\r\n接下来就是Content这里有具体的业务数据根据不同的Content-Type使用不同的序列化方式表示例如JSONXML甚至HTML。各位在学习HTTP API时可以认为网页应用也是HTTP 的一种应用只是交互方式一般使用application/x-www-form-urlencoded 作为请求、 text/html作为响应的方式进行交互。而RestAPI可以使用其他很多种编码方式进行交互支持的更广网页应用只是使用HTTP传输的一种应用场景RestAPI和网页是可以不分开的。我觉得这一点Nancy比ASP.NET做得更好Nancy并没有把RestAPI和网页割裂开来而ASP.NET用MVC和WEBAPI将两者割裂了请求一个数据我可以要求Accept为application/json时返回Json数据而使用text/html时返回一个网页当然将这两种应用方式切割或合并起来都各有优劣。          我所写的这些对于HTTP协议而言实在太少太少大家有兴趣的可以自行查找相关资料我只是写出了WEB API中常用的部分下面我们来用一张图为大家展示一下这些知识 相关文章  Dion Hinchcliffe谈Web API的过去与未来Web API应用支持HTTPS的经验总结ASP.NET Web API 安全筛选器Web API 基于ASP.NET Identity的Basic AuthenticationREST API 安全 设计指南ASP.NET Web Api使用CacheCow和ETag缓存资源使用 West Wind WebSurge 对 ASP.NET Web API 服务进行压力测试ASP.NET Linux部署(2) - MS Owin WebApi Mono Jexus 原文地址http://www.cnblogs.com/UliiAn/p/5353475.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注 赞赏 人赞赏
http://www.sadfv.cn/news/94339/

相关文章:

  • 地方房产网站APP如何做模版之家官网
  • html5标准网站建设爱采购网
  • 怎么做样网站wordpress加密数据库文件夹
  • 网站建设公司3lue阿里云服务器建网站
  • 曲靖网站建设电话怎么编写自己的网站
  • php网站开发示例eefocus电子工程网
  • 建设网站案例分析php网站开发pdf
  • 杭州做网站哪里好彩页设计素材
  • 东丽做网站公司静态网页设计实训报告
  • 网站关键词排名提高深圳坪山新闻头条
  • 大型的网站建设公司小程序开发公司哪里强
  • 建设工程职称 在哪个网站沃尔玛网上商城是正品吗
  • 互联网推广培训机构临沂网站优化公司
  • 推荐几个好看的网站信息门户
  • 用discuz做的手机网站微信小程序怎么做购物网站
  • 网站开发需要的技术人员有什么青岛微网站建设
  • 滨州网站建设九鲁江苏建设人才考试网是啥网站
  • 做网站怎么实现鼠标经过图像上海新闻官网
  • 做网站哪家好 要钱店面设计在线
  • 设计师网站prinest四川建设公共查询平台
  • 小勇cms网站管理系统安徽省铜陵市建设局网站
  • 江苏企业网站建设新浪博客网站
  • 福州网站备案后台做网站的题
  • 快速搭建网站系统360免费建站官网
  • 中学建设校园网站方案小程序开发平台免费
  • 河北省做网站哪家公司好常德网站定制
  • 外贸网站建设网手机版网站建设费用清单
  • 建设大型的企业网站费用摄影网站设计理念
  • 江门建设造价信息网站公司网站建设开发方案
  • 类qq留言网站建设wordpress管理后台 主题