随笔分类 -  网络编程

摘要:第一部分是协议(或称为服务方式)。资源的访问方式? A URL for HTTP (or HTTPS) is normally made up of three or four components: A scheme. The scheme identifies the protocol to b 阅读全文
posted @ 2020-07-18 23:21 zzfx 阅读(255) 评论(0) 推荐(0) 编辑
摘要:网络通信的面向对象编程,第一步就是将通信概念对象化。 比较重要的概念:请求、响应、会话、配置。 次要概念:cookie、cache; 其它概念:鉴权与认证、其它。 第二步是对过程机制的抽象: 理论依据是会话协议和通信时序; 具体实现机制是endpoint配置或回掉处理。 第三步是将上述概念组合起来添 阅读全文
posted @ 2019-09-20 11:22 zzfx 阅读(253) 评论(0) 推荐(0) 编辑
摘要:会话:根据协议头进行与协议相关的操作。 表示:将应用数据表达为协议设置中设置的兼容数据。 应用:普通的数据的增删查改功能。 协议头中与content无关的内容都由会话层处理。 在通信数据格式固定的情况下,部分通信具体内容的信息也可以由会话层处理。 通信:分组通信(tcp)、保密通信(https)。 阅读全文
posted @ 2019-09-19 22:05 zzfx 阅读(551) 评论(0) 推荐(0) 编辑
摘要:会话层--协议寓意的理解和会话的建立与维护。 header信息+会话信息。 阅读全文
posted @ 2019-09-17 10:54 zzfx 阅读(665) 评论(0) 推荐(0) 编辑
摘要:应用层:负责最直观的应用请求的封装、发起; 表示层:将应用层的请求表述成复合网络协议和应用要求的会话层可理解的请求数据; 会话层:请求过程的会话管理;网络安全、交互逻辑、缓存处理、认证等与会话相关但与直接请求不相关的辅助逻辑。 阅读全文
posted @ 2019-06-07 16:19 zzfx 阅读(1033) 评论(0) 推荐(0) 编辑
摘要:通信协议是网络的语言; 网络模型是网络的结构; 网络模型的层次决定了协议的选择; 通信协议是网络领域的方言;所有的通用语言和平台网络编程都需要把native网络概念翻译为网络领域的语言。 阅读全文
posted @ 2019-06-04 11:25 zzfx 阅读(324) 评论(0) 推荐(0) 编辑
摘要:应用层: 负责native格式的请求配置,请求发起、关闭等功能; 负责应用数据请求可直接调用的api的支持。 使用表示层和会话层包装而成的便捷工具(API):Alamofire 表示层: 将应用层配置的数据格式化为协议支持的数据格式(数据包); 根据应用要求和协议规定进行请求和相应数据的格式化和反格 阅读全文
posted @ 2019-06-03 17:53 zzfx 阅读(1604) 评论(0) 推荐(0) 编辑
摘要:http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/ 作为一个经常和web打交道的程序员,了解这些协议是必须的,本文就向大家介绍一下这些协议的区别和基本概念,文中可能不局限于前端知识,还包括一些运维 阅读全文
posted @ 2019-06-03 15:36 zzfx 阅读(760) 评论(0) 推荐(0) 编辑
摘要:前言 开发中遇到需要获取SDK中的数据,由于无法看到代码,所以只能通过监听所有的网络请求数据,截取相应的返回数据,可以通过NSURLProtocol实现,还可用于与H5的交互 一、NSURLProtocol拦截请求 1、NSURLProtoco简介 NSURLProtocol的官方定义 An NSU 阅读全文
posted @ 2019-02-20 19:55 zzfx 阅读(2136) 评论(0) 推荐(0) 编辑
摘要:NSURLProtocol 的本质是对特殊的scechme进行特殊的协议定制; 网络(应用层)请求的统一入口是nsurlconnection和nsurlsession; http、htp、mail等协议都是; 如果是不存在的协议,比如 google://gohere.oo 需要自己在网络层的基础上进 阅读全文
posted @ 2019-02-20 19:23 zzfx 阅读(245) 评论(0) 推荐(0) 编辑
摘要:let components = URLComponents(url: fakeUrl, resolvingAgainstBaseURL: false)! http://10.100.140.84/m/cashboard/cost/02?yyyyMM=2018-06&tabFlag=02 - sch 阅读全文
posted @ 2018-09-13 18:15 zzfx 阅读(1163) 评论(0) 推荐(0) 编辑
摘要:网络请求、处理的组织: context Facade模式/指令处理引擎/简单处理机; 响应码: 只要有响应码就代表服务器已经接收到请求;无响应代表网络层出现问题,与服务器无关。 处理步骤: 1)模块(路径)映射; 2)处理函数映射; 属于请求合法性校验; 上面两步和消息机制的消息路由过程类似;是一个 阅读全文
posted @ 2018-02-06 16:18 zzfx 阅读(157) 评论(0) 推荐(0) 编辑
摘要:网上关于WEB缓存的文章很多,今天汇总一下。 为什么要用缓存 一般针对静态资源如CSS,JS,图片等使用缓存,原因如下: 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度。 节省带宽:对于已缓存的文件,可以减少请求带宽甚至无需请 阅读全文
posted @ 2017-12-22 00:23 zzfx 阅读(2179) 评论(0) 推荐(0) 编辑
摘要:1、缓存的分类 2、浏览器缓存机制详解 2.1 HTML Meta标签控制缓存 2.2 HTTP头信息控制缓存 2.2.1 浏览器请求流程 2.2.2 几个重要概念解释 3、用户行为与缓存 4、Refer: https://www.cnblogs.com/520yang/articles/48074 阅读全文
posted @ 2017-12-22 00:21 zzfx 阅读(580) 评论(0) 推荐(0) 编辑
摘要:在前端开发中,性能一直都是被大家所重视的一点,然而判断一个网站的性能最直观的就是看网页打开的速度。其中提高网页反应速度的一个方式就是使用缓存。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。那么下面我们就来看看服务器端缓存的原理。 阅读全文
posted @ 2017-12-22 00:14 zzfx 阅读(1533) 评论(0) 推荐(0) 编辑
摘要:参考链接: HTTP 协议中的 Transfer-Encoding 分块传输编码 https://www.cnblogs.com/xuehaoyue/p/6639029.html 一、背景: 二、分块编码(Transfer-Encoding: chunked) 具体方法 例: HTTP/1.1 20 阅读全文
posted @ 2017-12-21 11:09 zzfx 阅读(389) 评论(0) 推荐(0) 编辑
摘要:本周,CloudFlare宣布,开始提供Keyless服务,即你把网站放到它们的CDN上,不用提供自己的私钥,也能使用SSL加密链接。 我看了CloudFlare的说明(这里和这里),突然意识到这是绝好的例子,可以用来说明SSL/TLS协议的运行机制。它配有插图,很容易看懂。 下面,我就用这些图片作 阅读全文
posted @ 2017-12-18 19:10 zzfx 阅读(195) 评论(0) 推荐(0) 编辑
摘要:An SSL connection between a client and server is set up by a handshake, the goals of which are: To satisfy the client that it is talking to the right 阅读全文
posted @ 2017-12-18 19:09 zzfx 阅读(412) 评论(0) 推荐(0) 编辑
摘要:The following is a standard SSL handshake when RSA key exchange algorithm is used: 1. Client Hello Information that the server needs to communicate wi 阅读全文
posted @ 2017-12-18 19:06 zzfx 阅读(172) 评论(0) 推荐(0) 编辑