若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11700815.html

1. 关于HTTP:

HTTP,即超文本传输协议,是一个属于应用层的面向对象的协议。

HTTP的特点:
  • 基于C/S模式,客户端通过URL向服务端发送请求,其信息交换过程为:建立连接、发送请求信息、发送响应信息、关闭连接。
  • 无连接,指 限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。这样可以节省传输时间。
  • 无状态,指协议对于事务处理没有记忆能力。
HTTP动词(请求方法):

GET 获取一个资源

PUT 修改一个资源

POST 添加一个资源

DELETE 删除一个资源

HTTP状态码:
  • 200 - 请求成功
  • 301 - 重定位,资源被永久转移到其他URL
  • 404 - 请求资源不存在
  • 500 - 内部服务器错误

2. 关于REST:

REST即Representational State Transfer(表现层状态转换),是一种软件架构风格、设计风格,而不是标准。如果满足 REST 的几个条件, 通常就称这个系统是 Restful 的。

这里提的条件包括:

  • C/S结构 (这是Internet服务的一个基本特征)
  • 无状态 (很熟悉吧,呵呵)
  • 可以cache (想起了浏览器?)
  • 分层系统 (想起了无数的架构?)
  • 统一的接口 (如果这是可能的,程序员有福了,

    Http、RESTful、RPC、MQ、Socket 概念与区别的更多相关文章

    1. RPC和Socket

      RPC和Socket的区别 rpc是通过什么实现啊?socket! RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的 ...

    2. rpc、socket、mq

      关于RPC与MQ异同的理解 相同:1.都利于大型系统的解耦:2.都提供子系统之间的交互,特别是异构子系统(如java\node等不同开发语言):不同:1.RPC侧重功能调用,因此多半是同步的:备注:也 ...

    3. 系统间通信(10)——RPC的基本概念

      1.概述 经过了详细的信息格式.网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热.从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的讲解:RPC.在后续的几篇文章中,我们首先讲解R ...

    4. http、TCP/IP协议与socket之间的区别

      http.TCP/IP协议与socket之间的区别     网络由下往上分为:  www.2cto.com   物理层--                       数据链路层-- 网络层--   ...

    5. http、TCP/IP协议与socket之间的区别(转载)

      http.TCP/IP协议与socket之间的区别  https://www.cnblogs.com/iOS-mt/p/4264675.html http.TCP/IP协议与socket之间的区别   ...

    6. [转]领域驱动设计系列文章(2)——浅析VO、DTO、DO、PO的概念、区别和用处

      原文地址:http://www.blogjava.net/johnnylzb/archive/2010/05/27/321968.html 上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章 ...

    7. 浅析VO、DTO、DO、PO的概念、区别和用处

      上一篇文章作为一个引子,说明了领域驱动设计的优势,从本篇文章开始,笔者将会结合自己的实际经验,谈及领域驱动设计的应用.本篇文章主要讨论一下我们经常会用到的一些对象:VO.DTO.DO和PO. 由于不同 ...

    8. UrlConnection连接和Socket连接的区别

      关于UrlConnection连接和Socket连接的区别,只知道其中的原理如下: 抽象一点的说,Socket只是一个供上层调用的抽象接口,隐躲了传输层协议的细节. urlconnection 基于H ...

    9. 领域驱动设计系列文章——浅析VO、DTO、DO、PO的概念、区别和用处

      本篇文章主要讨论一下我们经常会用到的一些对象:VO.DTO.DO和PO. 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: ...

    随机推荐

    1. pycharm进行个性化设置

      1. 设置主题:Monokai Ctrl+Alt+S: Editor->Color&Fonts->Python 2. 修改[选中内容]颜色 因为用了Monokai主题后,选中内容的 ...

    2. JavaScript 箭头函数

      ES6新标准增加了一种新的函数,箭头函数. x=>x*x 相当于: function (x){ return x*x; } 如果参数不是一个,就需要用括号()括起来: // 两个参数:var t ...

    3. 【cf比赛记录】Codeforces Round #600 (Div. 2)

      Codeforces Round #600 (Div. 2) ---- 比赛传送门 昨晚成绩还好,AC A,B题,还能上分(到底有多菜) 补了C.D题,因为昨晚对C.D题已经有想法了,所以补起题来也快 ...

    4. 讨厌的linux----vsftpd 匿名上传配置

      核心一句话: vsftpd: refusing to run with writable anonymous root 匿名账号的根目录,不允许写入,否则匿名登录 验证失败 只有再 ftp 命令操作, ...

    5. android测试和iOS测试的区别

      一.常识性区别 二.导航方式 iOS:Tab放在页面底部,不能通过滑动来切换,只能点击.也有放在上面的,也不能滑动,但有些Tab本身可以滑动,比如天猫的.还有新闻类的应用. Android:一般放在页 ...

    6. docker swarm 集群搭建

      创建一个集群 [vagrant@node1 ~]$ docker swarm init --advertise-addr 192.168.9.101 Swarm initialized: curren ...

    7. lastlogon

      function Get-ADUserLastLogon($userName) { $dcs = Get-ADDomainController -Filter {Name -like "*& ...

    8. swap 释放

      #swap 释放 -------------------------------- swapoff -a wwapon -a

    9. VUE-012-图表 v-charts 学习(一)饼图展示状态

      软件质量平台中需要输出各种各样的图表数据,以 v-charts 中的饼图为例,记录图表使用实现过程. v-charts :https://github.com/ElemeFE/v-charts doc ...

    10. Synchronize深入

      前言:    synchronize会使用,但是对于深层次的知识,不是很清楚,故整理一篇博客. 简介:   能够保证在同一时刻,最多只有一个线程执行该端代码,以达到保证并发安全效果. 两种用法: 对象 ...