• HTTP是什么?


    • HTTP是什么?
         我们见过的大多数网站可能都是“WWW”开头的,但是一个完整的地址是这样的:http://www.baidu.com/
         
         HTTP的全称是HyperText Transfer Protocol(超文本传输协议),超文本是一种带有链接的文本,而传输协议是一种获取一些东西从一个地方到另一个地方的规则,这些规则是为了传输页面到你的浏览器。
    • 客户端和服务端的关系
         我们可以使用HTTP去抓取互联网上的任意网页上的信息,这些网页是来着互联网上的其他计算机,而这些计算机就是我们所谓的服务器。
         
         互联网上到处都是客户端和服务器,客户端请求一些资源,例如网页、文件等等,服务器储存了这些信息,当你生成一个HTTP请求,这请求将通过互联网找到那个可以执行该请求的服务器,然后服务器会发生一个响应返回给你。
    • REST
         REST(Representational State Transfer)是一种具体状态传输,事实上,客户端与服务器的关系是REST的先决条件。
         
         那什么是状态传输呢?你可以通过点击链接穿梭在一个网站中,因此你就制造了一次次的状态传输,每次都将带你到下一个页面,这个页面也就代表了应用程序的下一个状态。
     
         当一些东西遵循了REST的规则,那么我们就称之为RESTful
    • RESTful API
         API(application programming interface),是一种代码协议,它是一种特定的方法,用于一个程序与一个应用程序的交互
     
         一个RESTful的API或者Web服务是要满足以下3点的:
      • 客户端与服务器的分离
      • 请求与请求之间是不保留状态的
      • 使用HTTP和HTTP方法
    • Request 请求
         请求的四种动作:
      • GET:从特定的源获取信息
      • POST:发送新的信息去特定的源
      • PUT:更新特定源的现有信息
      • DELETE:删除特定源上的现有信息
         HTTP请求的组成:
      • request line:告诉服务器是哪一种请求正在发生和寻找的资源是什么
      • header:发送给服务器的附加信息,例如是哪个客户端发出的请求
      • body:在GET请求中可以是空的,在POST和PUT的请求中包含了数据
    • Response 响应
         一次对服务器成功请求的结果被包含在一个响应中,这个响应是服务器返回给客户端的一个消息。这个来自服务器的响应包含了一个3位数字的状态代码(HTTP Status Codes)。这些代码是由1、2、3、4、5开头的。(http://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
     
         五种状态代码:
      • 1xx:服务器正在执行你的请求
      • 2xx:服务器响应成功
      • 3xx:这类状态码代表需要客户端采取进一步的操作才能完成请求,通常需要重定向
      • 4xx:客户端错误
      • 5xx:服务端错误
         HTTP响应的组成:
      • response line:包含了HTTP状态代码
      • header:包含了关于服务器和这个响应的信息
      • body:响应的内容
    • 数据格式
      • XML(Extensible Markup Language)可扩展标记语言
       它和HTML很类似,都使用的是尖括号的标签,不同的是XML允许你使用你自己组装的标签
    <pet>
      <name>Jeffrey</name>
      <species>Giraffe</species>
    </pet>
      • JSON(Java Script Object Notation)JS对象符号
         通常JSON和XML是二选一的,JSON的数据格式很类似于JavaScript的对象
    {
      "pets": {
        "name": "Jeffrey",
        "species": "Giraffe"
      }
    }
     
  • 相关阅读:
    Leetcode 493.翻转对
    Leetcode 491.递增子序列
    Leetcode 488.祖玛游戏
    Leetcode 486.预测赢家
    Leetcode 483.最小好进制
    Leetcode 482.密钥格式化
    商品期货投资的那些事(八)为你的套利头寸买个保险
    商品期货投资的那些事(七)趋势套利震荡投机、直道飘移弯道超越
    商品期货投资的那些事(五)做空焦煤焦炭?你是想跟发改委作对吗?
    商品期货投资的那些事(六)期现投资这行怎样才能赚大钱?
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3041182.html
Copyright © 2020-2023  润新知