iOS 网络

2023-11-01

1.http介绍

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

请求报文:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

响应报文

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

 

2.http的请求方式有哪些?

get post  head put delete options

3.get和post方式的区别(rfc官方文档)

get请求参数以?分割拼接到url后面,post请求参数在body里面

get参数长度限制2048个字符,post没有限制

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

安全性:不应该引起server端的任何状态变化:get head options

幂等性:同一个请求方法执行多次和执行一次的效果完全相同:get  delegate

可缓存的:请求是否可以被缓存(代理服务器的缓存)

 

3.你都了解哪些状态码,他么的含义是什么?

301 301 网络重定向       401 404  客户的发起的请求本身存在问题   501 server端有问题

 

4.连接建立流程

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

ps:为什么是三次握手而不是两次?

如果第一次握手超时,客户端会启动超时重传策略,如果这时候超时到达server,就会出现两次tcp连接,最后一次就是为了确定只建立一个

ps:4次挥手,前两次后只是客户端到服务器端口连接断开,后两次是服务端到客户端的断开(全双工)

 

5.http的特点

无连接(有一个建立和释放连接的过程)  解决:http的持久连接

           持久连接使用:头部字段:Connection:keep-alive   time:20    max:10

           怎样判断一个请求是否结束的?

           Content-length:1024(接受的数据长度是否达到这个长度)

           chunked,最后会有一个空的chunked

无状态(无法记录同一个用户)解决:Cookie/Session

 

6.Charles抓包原理是怎样的?

          中间人攻击:中间人劫持hold,假冒客户端身份,发送请求,server返回给中间人,中间人再返回给client

          20181220230206975.png

 

7.https和http的区别

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

SSL/TLS在应用层之下,传输层之上

 

8.https的连接建立流程?

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

20181220230950488.png

9.TCP/UDP

20181220231441250.png

10.UDP特点:

无连接                     尽最大努力交付 

面向报文(既不合并,也不拆分)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

功能:复用    分用      差错检测

复用分用:(原端口和目的端口来分发数据)

     watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

差错检测:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

(ps:借鉴差错检测可以用来对数据进行正确性的验证)

 

11.TCP的特点:

面向连接    可靠传输   面向字节流    流量控制  拥塞控制

面向连接:数据传输之前,需要建立连接(三次握手)

                  数据传输结束之后,需要释放连接(四次挥手)

可靠传输:停止等待协议(无差错情况,超时重传,确认丢失 ,确认迟到)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

面向字节流:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

流量控制

滑动窗口协议:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

拥塞控制:慢开始,拥塞避免  快恢复,快重传

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

12.dns解析

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

DNS解析方式

递归查询:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

迭代查询:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

13.DNS的劫持问题:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

解决:httpDNS  和   长连接

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

长连接:

20181221114724367.png

14.NDS的解析转发

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

15. Cookie

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

Cookie:主要用来记录用户状态,区分用户,状态保存在客户端

修改Cookie:新的覆盖旧的(覆盖规则:name,path,domain等需要与原cookie一致)   

删除Cookie:新的覆盖旧的(规则与修改的一样,要额外设置expires=过去的一个时间,或者maxAge=0)   

保证cookie的安全:加密,在https上才携带,设置cookie为httponly,防止跨站脚本攻击

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

16.Session

Cookie:主要用来记录用户状态,区分用户,状态保存在服务器端(Seesion需要依赖cookie)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 网络 的相关文章

随机推荐

  • maven3.6.3版本下载安装

    1 下载地址 http maven apache org download cgi 2 解压文件包 找个盘符下解压 3 配置环境变量 我的电脑 右击 gt 属性 gt 高级系统设置 gt 环境变量 4 测试 win r gt 输入 cmd
  • 【限时免费】20天拿下华为OD笔试之【DP/贪心】2023B-观看文艺汇演-200分【闭着眼睛学数理化】全网注释最详细分类最全的华为OD真题题解

    DP 贪心 2023B 观看文艺汇演 题目描述与示例 某公园将举行多场文艺表演 很多演出都是同时进行 一个人只能同时观看一场演出 且不能迟到早退 由于演出分布在不同的演出场地 所以连续观看的演出最少有 15 分钟的时间间隔 小明是一个狂热的
  • Autosar代码解析-Source Insight的使用

    文章目录 一 Source Insight简介 二 函数调用关系查看 三 Autosar代码查看 四 解决办法 总结 一 Source Insight简介 Source insight是一款简洁 强大的轻量级代码浏览编辑器 启动快 使用便捷
  • concurrenthashmap 安全失败 1.7 1.8区别——解析三太子敖丙的大厂面试结构图(集合系列)

    为什么要出现concurrenthashmap 上文咱们说到过 HashMap在并发执行put操作时候会引起死循环 是因为多线程导致HashMap的链表形成环形数据结构 一旦形成环形数据结构 链表的next节点永远不为空 就会产生死循环数据
  • 【03】Unity AR 2022Vuforia图片识别超详细案例(小岛动画交互)【含代码】

    Unity AR Vuforia 拓展 Vuforia图片识别超详细案例 小岛动画交互 含代码 文章目录 Unity AR Vuforia 拓展 Vuforia图片识别超详细案例 小岛动画交互 含代码 1 环境搭建 2 资源导入 3 交互之
  • Java基础15--面向对象:接口

    Java基础15 面向对象 接口 文章目录 Java基础15 面向对象 接口 概述 接口与类相似点 接口与类的区别 接口特性 抽象类和接口的区别 接口的声明 接口的实现 接口的继承 接口的多继承 标记接口 概述 接口 英文 Interfac
  • MakeFile学习1-原理

    1 静态库用于动态库原理和编译流程 编译分为四大过程 预编译 编译 汇编 链接 预编译 完成宏替换 文件引入 以及去除空行 注释等 为下一步编译做准备 也就是对各种预编译命令做处理 包括头文件的包含 宏定义的拓展 条件编译的选择等 选项 E
  • 哈希表:线性探测法和链地址法求查找成功与不成功的平均查找长度

    哈希表 线性探测法和链地址法求查找成功与不成功的平均查找长度 了解ASL的公式 线性探测法求ASL 链地址法求ASL 了解ASL的公式 查找成功时 ASL 1 n frac 1 n n1
  • 训练VainF/DeepLabV3Plus-Pytorch

    conda activate pytorch cd DeepLabV3plus Pytorch master 先打开visdom 指定端口号 和运行指令里的端口号一致 python m visdom server p 28333 进行训练
  • Android面试心得

    过年回来到现在也一个月了 这段时间一直没写文章 这是因为我准备换工作了 一直在面试 也面试了四五家 但是效果都不是很好 虽然如此 但也算收获了一些经验 我就将我面试遇到的问题记录下来 与大家一起分享吧 本人是做游戏sdk的 所以一些问题会偏
  • JavaScript编程语言-交互:alert、prompt 和 confirm类型转换,字符串转换,数字型转换,布尔型转换,

    交互 alert prompt 和 confirm 由于我们将使用浏览器作为我们的演示环境 让我们看几个与用户交互的函数 alert prompt 和confirm alert 这个我们前面已经看到过了 它会显示一条信息 并等待用户按下 O
  • 【著名博客搬运翻译】无限过程式生成城市使用波函数坍缩算法

    Infinite procedurally generated city with the Wave Function Collapse algorithm 英文原址 https marian42 de article wfc 这是一个游戏
  • 虚拟机ubuntu18.04安装AoiAWD

    AoiAWD 轻量级EDR系统 AoiAWD 是一个由Aodzip 安恒信息 海特实验室研究员 HAC战队成员 维护的一个针对于CTF AWD模式的开源项目 专为比赛设计 便携性好 低权限运行的EDR系统 任何人都可以在 GNU AGPL
  • unity解决射线穿透UGUI的问题

    if Input GetMouseButtonDown 0 EventSystem current IsPointerOverGameObject Ray ray Camera main ScreenPointToRay Input mou
  • STL中的list容器

    以下转自http www cnblogs com BeyondAnyTime archive 2012 08 10 2631191 html STL中的list容器的一点总结 1 关于list容器 list是一种序列式容器 list容器完成
  • Excutors 线程池

    实例一 作为服务端 使用线程池接收多个客户端的TCP请求 String port 9015 ServerSocket serverSocket new ServerSocket port Executor exe Executors new
  • Base64加密解密算法【js】

    废话不多说 上代码 var Base64 private property keyStr ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 public metho
  • 最小二乘法(Least square method)

    最小二乘法是在线性回归模型最小化均方误差时使用 其实就是对误差函数求导数 然后让其等于0 然后解出使得误差最小 本篇文章讲解最小二乘法 首先声明 此篇的内容是来自 马同学高等数学 微信公众号的内容 目录 1 日用而不知 2 最小二乘法 3
  • 模板--类型萃取

    当我们在实现数据结构vector时 我们发现使用mencpy时只能实现基本类型的拷贝 而不能实现自定义类型的拷贝 比如说字符串类型 这问题如何解决呢 在学习了模板和基于模板的类型萃取之后 我们就有方法是在实现基本类型的拷贝时使用memcpy
  • iOS 网络

    1 http介绍 请求报文 响应报文 2 http的请求方式有哪些 get post head put delete options 3 get和post方式的区别 rfc官方文档 get请求参数以 分割拼接到url后面 post请求参数在