美文网首页
网络请求相关

网络请求相关

作者: TAsama | 来源:发表于2019-03-28 22:18 被阅读0次

HTTP

超文本传输协议
  • 请求/响应报文
  • 连接建立流程
  • HTTP的特点
1. 请求/响应报文

请求报文
请求报文包括:

  • 请求方法
  • 请求URL
  • 协议版本
  • 请求首子段键值对
  • 报文主体(一般在请求中是没有报文主体的)

响应报文
响应报文包括:

  • 协议版本
  • 状态吗
  • 响应首字段
  • 响应报文主体
2. 请求方法有哪些
  1. GET
  2. POST
  3. HEAD
  4. PUT
  5. DELETE
  6. OPTIONS

6种请求方式, 常见的GET和POST又有什么区别呢?
GET:获取资源
安全的 幂等的 可缓存的
安全:请求不会对servers的状态产生影响
幂等:相同的请求,他的执行过程是相同的,不会改变
可缓存:在请求链路中,GET请求可能会在代理服务器中被缓存,我们得到的可能是代理服务器的缓存结果
POST:处理资源
与GET相反,POST会对服务器的状态产生影响
另外,GET请求的参数是明文传输的,且有长度上限,最长为2048个字节。

3. 状态码

2xx:响应成功(200)
3xx:重定向(301、300)
4xx:请求出错,服务器没有相应(401、404)
5xx:服务器出错

TCP

1. TCP的建立流程

三次握手、四次挥手

TCP的建立流程
2. HTTP的特点

无连接

  • HTTP持久连接
    无状态
  • Cookies / Session

HTTP的持久链接方案需要在head字段中设置以下三个字段:
Connection:keep-alive(持久化)
time:20(持久时间)
max:10(持续期间最大连接数)

持久连接

怎样判断一个连接已经结束?
  1. 通过响应首字段中的Content-length
  2. chunked, 连续传输中手字段中的chunked字段是否为空,为空则表示没有后续了。
Charles抓包原理

中间人攻击

HTTP与HTTPS

HTTPS就是安全的HTTP
HTTPS是在HTTP系协议层和TCP传输层之间增加了一层SSL/TLS加密协议,保证了HTTP的请求安全。


HTTPS加密流程

会话密钥:
即消息传递中使用的对称加密的密钥

TCP/UDP传输协议

  • TCP:传输控制协议
  • UDP:用户数据报协议

UDP的特点

  1. 无连接
  2. 尽最大努力交付(也就是不保证传输成功,没有重传机制)
  3. 面向报文

UDP的功能

  1. 复用、分用
  2. 基本的差错检测

无连接表示UDP协议不用建立连接,也就没有TCP的握手挥手过程
而面向报文说明UDP对报文的传输是直接的,不会进行拼装和拆分

TCP的特点

  1. 传输可靠 (无差错、不丢失、不重复、按序到达)
  2. 面向连接的 (三次握手四次挥手)
  3. 面向字节流的 (会将传输报文根据窗口和缓存区的大小拆分,组合传输字节)
  4. 流量控制(根据接收方窗口大小动态调整发送窗口的大小,限制传输流量。进行在TCP缓冲区)
  5. 拥塞控制(指数递增,达到阈值线性增长,拥塞后下降到新的阈值,而后线性增长)
超时重传.jpg 确认迟到.jpg 确认丢失.jpg

Cookies和Session

Cookies储存在用户方
Session储存在服务端
Session依赖于Cookies,是Cookies的一个拼接字段:Session=xxxxx

他们适用于解决HTTP无状态的问题而产生的。
Cookies的安全策略有:

  1. 对Cookies加密传输
  2. 使用HTTPS传输时才使用Cookies

相关文章

  • iOS网络请求相关框架的使用

    iOS网络请求相关框架的使用 iOS网络请求相关框架的使用

  • 网络请求相关

    get 和post 的主要区别体现在数据传递上,get:在请求的URL后面以?的形式跟上发给服务器的参数,多个参数...

  • 网络请求相关

    1,Android网络请求心路历程,总结的非常好 Android网络请求心路历程 2,Volley的源码解析和详细...

  • 网络请求相关

    1、网络请求方式的改变 2、后台服务器传输协议由HTTP改成HTTPS I二、URL: 练习:通过连接加载图片 三...

  • 网络请求相关

    HTTP 超文本传输协议 请求/响应报文 连接建立流程 HTTP的特点 1. 请求/响应报文 请求报文请求报文包括...

  • 网络请求相关

    常见http状态码 301永久重定向302临时重定向304缓存400参数错误401没登录403登陆了但没有权限40...

  • 网络相关-HTTPS请求

    我们在发送一个HTTPS请求的时候,到底发生了什么事?用NSURLSession为例这儿梳理下流程: 1. 发送h...

  • 微信小程序部分安卓机型发起 HTTPS 请求频繁出现超时问题

    首先引入微信小程序官方关于HTTPS网络请求问题的相关说明 小程序必须使用 HTTPS/WSS 发起网络请求。请求...

  • 网络请求相关http/https

    参考:https://www.geeksforgeeks.org/layers-osi-model/ OSI模型 ...

  • ios基于AFN封装网络请求工具

    新建一个类 在.h文件中,提供网络相关的常用方法 GET请求 POST请求 PUT请求 网络状态监测 处理参数得到...

网友评论

      本文标题:网络请求相关

      本文链接:https://www.haomeiwen.com/subject/zmhhbqtx.html