若要转载本文,请务必声明出处: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. robotframework 文档

      http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#post-processing-outputs

    2. ex3

      #include <stdio.h> int main() { char ch; printf("please input:\n"); scanf("%c&q ...

    3. putty WinScp 免密登录远程 Linux

      该方法的原理是预先生成一对公钥和私钥,私钥以文件的形式保存在本地,公钥保存在远程机器上.这样每次登录只需指定私钥文件,远程机器通过比对公钥和私钥来验证登录的合法性. Putty 免密登录 第一步 生成 ...

    4. Spring Boot 之配置导入,强大到不行!

      我们知道在 Spring Boot 中可以用一个 @Configuration 配置文件来配置所有 Bean 及其他配置(不会的看这篇文章:Spring零配置之@Configuration注解详解), ...

    5. js浮点数精度丢失问题及如何解决js中浮点数计算不精准

      js中进行数字计算时候,会出现精度误差的问题.先来看一个实例: console.log(0.1+0.2===0.3);//false console.log(0.1+0.1===0.2);//true ...

    6. SpringAOP ApectJ 动态代理

      参考链接:https://docs.spring.io/spring/docs/4.3.13.RELEASE/spring-framework-reference/htmlsingle/#aop ht ...

    7. NOTIC: [8] Trying to get property of non-object

        NOTIC: [8] Trying to get property of non-object /home/wwwroot/qwsd/Application/Admin/Controller/Pr ...

    8. CMU Advanced DB System - MVCC

      https://zhuanlan.zhihu.com/p/40208895 Mysql的MVCC实现 https://severalnines.com/database-blog/comparing- ...

    9. (转)Loadrunner教程--常用操做流程

      1loadrunner压力测试一般使用流程 1.1loadrunner压力测试原理 本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点.其中固定行为在loadrunner中是通过 ...

    10. Kubernetes 清除持续 Terminating 状态的Pods

      强制删除所有Pods -- 谨慎使用 kubectl delete pods --all --grace-period=0 --force