分布式通信协议之http

http协议的概述

客户端和服务器端
在这里插入图片描述
1.资源
html/文本、word、avi电影、其他资源
2.媒体类型
MIME类型、text/html、image/png
3.uri和url
uri:web服务器资源的名字,index.html
url:http://180.123.156.237:80/java/index.html
schema:http/https/ftp
host:web服务器域名或者ip地址
port:服务器的端口,http默认的端口是80
path:资源访问路径
query-string:查询参数
4.方法
get/post/delete/put/head
5.报文
request请求参数 ,response响应请求
request的消息结构包括三部分(起始行 、首部字段、主体)
method/path/http/version-number
head-name:value
空行
主体 optional request body
在这里插入图片描述
response
http/version-number status code message
head-name:value

body

6.状态码
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之间的区别

Rest 表述性状态转移

使用web标准来做一些准则和约束
### Restful的基本概念
1.在Rest中,一切的内容都认为是一种资源
2.每个资源都有uri的唯一标志
3.使用统一的接口请求资源(post/get/head/put/delete)
4.无状态

资源和uri

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

统一接口

GET 获取某个资源,幂等
post 创建一个新的资源
put 替换某个已有的资源(更新操作),幂等
delete 删除资源
pacth/head
###资源表述
mime类型()
accept:text/html html文件
Content-type 告诉客户端的表述形式

资源连接

超媒体及应用状态引擎

状态转移

服务器端不应保存客户端状态(应用状态/资源状态)

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

1 登录
2.查询订单

访问订单 根据接查询
访问商品 查询

资源状态:

restful的最佳设计

1.域名
http://api.xxx.com
2.版本
http://api.xxx.com/v1/get
header里面维护版本
3.路径
http://api.xxx.com/v1/users_list//获取用户列表
4.过滤信息
5.业务状态码
http状态码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值