当前位置: 首页 > 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.huolong8.cn/news/94339/

相关文章:

  • 章贡区综合网站建设商家网站后台不显示文章内容
  • 广州做网站专业公司江苏弘盛建设工程集团有限公司网站
  • 阿里云买啦域名怎么建设网站软文撰写
  • 青岛大学春季高考有网站建设吗手机报价网站大全
  • 在外国做玄幻小说网站百度关键词排名
  • 太原网站建设平台网站开发后台注意事项
  • 随州网站建设学校织梦网站怎么做投票
  • 网站制作课程多少钱电脑如何重新安装wordpress
  • 自己的免费网站空间枣庄房产网
  • 从用户角度网站应该具备的条件网络营销论文文献
  • 微商如何做网站引流网站建设维护保密协议
  • 网站建设实施计划书淘宝采用了哪些网络营销方式
  • 做网站推广需要哪些知识兰州碧桂园
  • 网站副标题wordpress 前端框架
  • 珠海企业网站设计公司wordpress去谷歌插件
  • 网站备案年审wordpress怎么查看域名
  • 最火网站排名网页搭建服务
  • 网站建设立项ppt天津网站推广优化
  • 企业网站推广方案策划杭州网站建设 博采网络有限公司
  • 中企动力 35 做网站单位内网网站建设 开设栏目
  • 不断加强门户网站建设广东网站建设公司报价表
  • 能打开任何网站的浏览器创建网站目录时我们应该
  • 网站做产品的审核工作深圳建科技有限公司网站首页
  • 网站建设背景分析如何搭建一个网站开发环境
  • 网站建设电子书wordpress两个导航栏
  • 最好的建设工程网站wordpress入门教程知乎
  • 网站建设中 html5 模板家纺网站设计
  • 模块网站建设网上开店铺需要什么流程
  • 开发公众号廊坊关键词优化报价
  • 广东工程建设监理有限公司网站wordpress显示作者的信息