分布式通信协议-http协议

HTTP协议的概述

1、客户端和服务器端

这里写图片描述

2、资源
html/文本、word、avi电影、其他资源

3.  媒体类型
MIME类型。  text/html、 image/jpeg 

4.  URI和URL
URI: web服务器资源的名字。  index.html

http://www.gupaoedu.com:80/java/index.html[?query-string] #location
  schema: http/https/ftp.
  host: web服务器的ip地址或者域名
  port: 服务端端口, http默认访问的端口是80
  path: 资源访问路径
  query-string: 查询参数

5.  方法
GET/PUT/DELETE/POST/HEAD

报文

request参数、 response响应参数
request消息结构包含三部分: (起始行、首部字段、主体) 


METHOD /path / http/version-number
Header-Name:value

空行
主体 optional request body

这里写图片描述

response
http/version-number   status code message

header-name:value
body

这里写图片描述

状态码

http/1.1版本的协议里面定义了五种类型的状态码
1XX    提示信息
2XX    成功
3XX    重定向
4XX    客户端错误
5XX    服务器端的错误 

缓存

HTTP协议的特点
    1.  无状态(每次请求是不相关的)
    要想相关的话用cookie+session
    2.  多次请求
    3.  基于TCP协议

HTTPS

SSL/TLS

SSL3.0 

ISOC  在SSL的基础上发布了升级版本 TLS1.2

HTTPS的工作原理:

数字证里面包含的内容:
公司信息、网站信息、数字证书的算法、公钥

连接过程

这里写图片描述

客户端发起一个请求之后,会带哪些信息?
1、给出协议版本号
2、客户端生成一个随机数
3、客户端支持的加密算法

整个过程就是为了生成会话秘钥,后续的通讯就是通过这个会话秘钥来做加减密。

RESTful

REST  表述性状态转移

使用WEB标准来做一些准则和约束。

RESTful的基本概念
    1.  在REST中,一切的内容都被认为是一种资源
    2.  每个资源都由URI唯一标识
    3.  使用统一的接口处理资源请求(POST/GET/PUT/DELETE/HEAD)
    4.  无状态



资源和URI
    1.  [/]表示资源的层级关系
    2.  ?过滤资源
    3.  使用_或者-让URI的可读性更好

统一接口
     GET  获取某个资源。 幂等
     POST 创建一个新的资源
     PUT 替换某个已有的资源(更新操作) , 幂等
     DELETE 删除某个资源

     PATCH/HEAD


资源表述
    MIME 类型()
    accept: text/xml   html文件
    Content-Type告诉客户端资源的表述形式

资源链接
     超媒体即应用状态引擎

状态转移
     服务器端不应该保存客户端状态。

应用状态 ---> 服务器端不保存应用状态


RESTful的最佳设计
    1.  域名
        http://api.gupaoedu.com 
        http://api/gupaoedu.com/api

    2.  版本
        http://api.gupaoedu.com/v1/user/1

        header里面维护版本

    3.  路径
        http://api.gupaoedu.com/v1/users_list  //获取用户列表

        http://api.gupaoedu.com/v1/goods-list  //商品列表

        http://api.gupaoedu.com/v1/users/{id}

    4.  过滤信息
        https://api.github.com/user/repos?page=2&per_page=100
        https://developer.github.com/v3/#rate-limiting 

    5.   状态码
        业务状态码
        http状态码
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值