接口自动化基础-OSI模型、HTTP、TCP协议

一、OSI模型

1、物理层:光缆:传输的介质
2、数据链路层:传输单元:交换机 网桥
3、网络层:数据包
4、传输层:TCP、UDP(广播协议)
5、会话层:
6、表示层:
7、应用层:人机交互 HTTP、HTTPS、DNS、FTP

二、HTTP协议

1、互联网:
客户端 服务端
浏览器、app、手机浏览器 前端服务器(nginx)后端服务器(docker) uwsgi(python)+网关服务
发送一个请求(请求地址)------nginx(转发请求、负载均衡)----发送到对应的服务
2、HTTP协议
(1)超文本传输协议,基于TCP之上的传输协议
(2)TCP与HTTP的区别:
TCP:高速公路 HTTP:跑在高速公路上的汽车
(3)HTTP数据传输的格式:
Content-Type:application/json json格式
Content-Type:application/x-www-form-urlencoded form表单
multipart/form/data :传输文件
(4)请求类型
post:添加资源
get:获取资源
put:修改资源:不管是否部分修改,都要传
patch:修改资源,部分修改只需要修改部分
delete:删除资源
head:查看响应头(查看接口请求规范)
options:查看该接口支持的请求方式
connect:HTTP/1.1协议预留的,将服务器作为跳板,去访问其他服务,再把请求的数据给你。
trace:查看请求数据:自测
3、HTTP的组成
①请求头
②请求体
③响应头
④响应体
⑤提取信息

  • 请求地址:Request URL :http://
  • 请求方法: Request Method
  • 请求数据:
  • 数据格式:Content-Type:application/json
  • 鉴权信息:鉴权令牌(token) cookie
  • requests

4、响应状态码
(1)1xxx:服务端已经收到了你的请求,需要客户端继续请求
101:切换更高的协议
(2)2xxx:成功状态码
200:请求成功
201:post根据你发的数据,创建好了对应的数据
202:后端已经收到,但是还没处理完成
206:部分处理成功,一般用于get请求。电影一部分一部分传
(3)3xxx:重定向
301:请求的资源没有了,返回给你另外一个资源的地址,浏览器拿着这个地址继续请求
302:临时移除:
(4)4xxx:客户端错误
401:需要用户授权或认证
402:保留资源,以后使用
404:客户端找的资源不存在,客户端请求错误,地址错误
408:服务端等待客户端请求超时
403:客户端发的请求服务端收到了,但是拒绝执行,【权限问题,或者是未实现的功能,黑名单】
(5)5xxx:服务端错误
500:服务器挂了,无法完成请求
501:服务器不支持这个功能,无法完成请求
502:网关返回的,网关服务器通过另外的链接去其他服务器去拿数据,然后在给你,
他在拿数据的过程中访问到了一个无效响应,没拿到数据
503:服务器维护中,暂时无法处理客户端的请求
504:网关没有及时从远端服务拿到请求数据
5、HTTPS请求过程

  • 浏览器向服务器发送 https 请求
  • 服务器向 CA 机构获取证书
  • 服务器向浏览器发送数字证书(包含 public key)
  • 浏览器用预置的 CA 列表验证证书,生成随机对称秘钥【key】,并使用公钥加密,如有问题会提示风险,
  • 浏览器加密后的【key】,发送给【服务器】,作为接下来请求的秘钥
  • 服务器用自己的 private key 解密得到对称秘钥 key
  • 浏览器使用随机码 key 进行解密数据
  • 浏览器、服务器使用该秘钥进行通信
    6、补充
    (1)http与https的区别
    ①http:明文传输、https:密文传输
    ②http端口:80,https:443
    ③https:有CA证书,要钱的
    ④http无状态的,https是ssl+http协议可以进行加密传输、身份认证
    在这里插入图片描述
    (2)get、post的区别
    ①Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的。
    ②Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。
    ③Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
    ④Get执行效率却比Post方法好。Get是form提交的默认方法。
    (3) TCP 和 UDP的区别
    ①TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
    ②TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
    ③TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
    ④UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
    ⑤每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
    ⑥TCP首部开销20字节;UDP的首部开销小,只有8个字节
    ⑦TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

(4) TCP三次握手、四次挥手
http://testingpai.com/article/1621669379653

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值