概述 上一篇给大家介绍了DNS协议和HttpDns协议,现在给大家介绍一下CDN和数据中心相关的知识. CDN:你去小卖部取过快递么? 如果你去电商网站下单买个东西,这个东西一定要从电商总部的中心仓库送过来吗?原来基本是这样的,每一单都是单独配送,所以你可能要很久才能收到你的宝贝.但是后来电商网站的物流系统学聪明了,他们在全国各地建立了很多仓库,而不是只有总部的中心仓库才可以发货.电商网站根据统计大概知道,北京.上海.广州.深圳.杭州等地,每天能够卖出去多少书籍.卫生纸.包.电器等存放期比较长的…
概述 传输层里比较重要的两个协议,一个是 TCP,一个是 UDP.对于不从事底层开发的人员来讲,或者对于开发应用的人来讲,最常用的就是这两个协议.由于面试的时候,这两个协议经常会被放在一起问,因而我在讲的时候,也会结合着来讲. TCP 和 UDP 区别 TCP 是面向连接的,UDP 是面向无连接的.什么叫面向连接,什么叫无连接呢?在互通之前,面向连接的协议会先建立连接.例如,TCP 会三次握手,而 UDP 不会.为什么要建立连接呢?你 TCP 三次握手,我 UDP 也可以发三个包玩玩,有什么区别…
概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏? 在买路由器还是很奢侈的时候,如果一个大学宿舍想联网打游戏,他们改怎么办呢?带这个问题我们进行学习本节课的知识. 第一层(物理层) 使用路由器,是在第三层上.我们先从第一层物理层开始说.物理层能折腾啥?现在的同学可能想不到,我们当时去学校配电脑的地方买网线,卖网线的师傅都会问…
概述 上一篇讲解了http和https的协议的相关的知识,现在我们谈一下流媒体协议和P2P协议. 流媒体协议:如何在直播里看到美女帅哥 最近直播比较火,很多人都喜欢看直播,那一个直播系统里面都有哪些组成部分,都使用了什么协议呢?无论是直播还是点播,其实都是对于视频数据的传输.一提到视频,大家都爱看,但是一提到视频技术,大家都头疼,因为名词实在是太多了. 三个名字系列 名词系列一:AVI.MPEG.RMVB.MP4.MOV.FLV.WebM.WMV.ASF.MKV.例如 RMVB 和 MP4,看着…
概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站的 IP 地址,因而也需要一个地址簿,就是 DNS 服务器.由此可见,DNS 在日常生活中多么重要.每个人上网,都需要访问它,但是同时,这对它来讲也是非常大的挑战.一旦它出了故障,整个互联网都将瘫痪.另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大.因而,DNS…
Internet SCSI(iSCSI)是一种网络协议,使用TCP/IP网络来传输SCSI协议.它是代替FC(Fibre Channel-based,光纤通道) SAN的很好选择.你可以在Linux下方便的管理.挂载.格式化iSCSI卷,它允许通过网络访问SAN存储设备. 安装步骤 1. 安装 iscsi-initiator-utils yum install iscsi-initiator-utils 如上,已安装. 可以检查下是否安装完成:cat /etc/iscsi/initiatorna…
概述 之前讲解了传输层的相关知识,现在讲解一下关于应用层的知识,主要是大家所熟悉的http和https,这2中是咱们最熟悉的协议了,但是也是最不熟悉的协议. HTTP协议:看个新闻原来这么麻烦 HTTP 协议,几乎是每个人上网用的第一个协议,同时也是很容易被人忽略的协议.既然说看新闻,咱们就先登录 http://www.163.com .http://www.163.com 是个 URL,叫作统一资源定位符.之所以叫统一,是因为它是有格式的.HTTP 称为协议,www.163.com 是一个域名…
概述 前面学习网络知识的时候写过一篇关于套接字的随笔见<JAVA SOCKET 详解>,现在本人正在系统的学习网络知识,现在除了温故知新之外,在详细的学习记录一下套接字的知识. Socket 这个名字很有意思,可以作插口或者插槽讲.虽然我们是写软件程序,但是你可以想象为弄一根网线,一头插在客户端,一头插在服务端,然后进行通信.所以在通信之前,双方都要建立一个 Socket.在建立 Socket 的时候,应该设置什么参数呢?Socket 编程进行的是端到端的通信,往往意识不到中间经过多少局域网,…
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述数据的数据 5. 异常 5.0.1. URLError 5.0.2. HTTPError 5.0.3. 处理异常 5.0.4. info和geturl 6. Opener和Handler 7. Basic Authentication 8. 代理 9. Timeout 设置 10. Cookie 1…
来源于:R学习笔记(4): 使用外部数据 博客:心内求法 鉴于内存的非持久性和容量限制,一个有效的数据处理工具必须能够使用外部数据:能够从外部获取大量的数据,也能够将处理结果保存.R中提供了一系列的函数进行外部数据处理,从外部数据的类型可以分为文件.数据库.网络等:其中文件操作还可以区分为导入/导出操作和流式操作. Table of Contents 1 数据框 1.1 列表 1.2 数据框 1.3 编辑数据框 2 CSV文件的导入导出 2.1 文件格式 2.2 read.table()和wri…
HTTP协议学习笔记(四) 与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟主机实现多个域名 HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点.比如,提供 Web 托管服务(Web Hosting Service)的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站.这是因为利用了虚拟主机(Virtual Host,又称虚拟服务器)的功…
HTTP协议学习笔记(二) 1.HTTP报文 HTTP报文:用于HTTP协议交互的信息.请求报文:请求端(客户端)的HTTP报文叫做请求报文.响应报文:响应端(服务端)的HTTP报文叫做响应报文. HTTP报文大致可分为报文首部和报文主体两块.两者最初由空行(CR+LF)来划分.通常,并不一定要有报文主体. 2.请求报文及响应报文的结构 请求报文和响应报文首部内容由以下数据组成. 请求行:包含用于请求的方法,请求URI和HTTP版本. 状态行:包含表明响应结果的状态码,原因短语和HTTP版本 首…
HTTP协议学习笔记(一) 1.HTTP协议用于客户端和服务端之间的通信 客户端:请求访问文本或图像等资源的一端服务端:提供资源响应的一端 在两台计算机之间使用HTTP协议通信时,在一条通信线路上必定是客户端,另一端则是服务端 在实际情况下,客户端和服务端的角色有可能互换,仅从一条通信线路来说,服务端和客户端的角色是确定的 HTTP协议能够区分谁是客户端,谁是服务端 2.通过请求和响应的交换达成通信 HTTP协议规定,请求从客户端发出,最后服务端响应该请求并返回 肯定先从客户端开始建立通信,服务…
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Acceptor 系统函数accept Socket的封装 Acceptor的封装 Acceptor时序图. 简单测试程序 Acceptor Connctor 运行日志 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor 标签: muduo Connector Acceptor…
题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由于标准制定工作还没完成,所以没有多少主流的服务器支持,自己在网上下载了几个实现,包括php的.C#的.甚至Node.js的,但一个是协议变化比较大,很多代码已经过时了,再就是有一些支持最新的标准,但是我想稍微改造一下,看人家源代…
目录 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin) zipkin使用demo 数据持久化 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin) 当代的互联网的服务,通常都是用复杂的.大规模分布式集群来实现的.互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发.可能使用不同的编程语言来实现.有可能布在了几千台服务器,横跨多个不同的数据中心.因此,就需要一些可以帮助理解系统行为.用于分析性能问题的工具. 本节简单搭建…
HTTP协议学习笔记(三) 1.状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务端向服务端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误. 状态码由3位数字和原因短语组成.如200 OK 状态码的类别: 仅记录在 RFC2616 上的 HTTP 状态码就达 40 种,若再加上WebDAV(Web-based Distributed Authoring and Versioning,基于万维网的分布式创作和版本控制)(RFC4918.…
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是WeakReferrence? 总结 多线程学习笔记九之ThreadLocal 简介   ThreadLocal顾名思义理解为线程本地变量,这个变量只在这个线程内,对于其他的线程是隔离的,JDK中对ThreadLocal的介绍: This class provides thread-local var…
.NET MVC 学习笔记(六)—— 数据导入 在程序使用过程中,有时候需要新增大量数据,这样一条条数据去Add明显不是很友好,这时候最好就是有一个导入功能,导入所需要的数据,下面我们就一起来看一下导入功能. 一. 在导入之前,首先我们需要下载模板,模板下载方法 $("#btnDownloadTemplate") .click(function () { window.location.href = "@Url.Content("~/Content/ImportCl…
目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoop() queueInLoop() wakeup() handleRead() doPendingFunctors() 总结 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 上篇文章为EventLoop添加了一个定时器Fd,为EventLoop增加了3个接口:runAfter(…
目录 muduo网络库学习笔记(三)TimerQueue定时器队列 Linux中的时间函数 timerfd简单使用介绍 timerfd示例 muduo中对timerfd的封装 TimerQueue的结构. Timer Timer的容器. TimerQueue私有接口介绍. 更新定时器 时序图 TimerQueue源码 TimerQueue使用示例 muduo网络库学习笔记(三)TimerQueue定时器队列 TimerQueue是EventLoop的组件之一,可以提供定时任务,和周期任务. 本章…
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次   SQL Server 2008中SQL应用系列及BI笔记系列--目录索引 导读:本文介绍MDX中的导航结构层次(Hierarchies).成员(Member)之间的关系可以用家族来描述.本文以此为基础,介绍了: ■1.访问直系亲属关系(Immediate Relatives) ■2.访问延伸亲属关系(Extended Relatives) ■3.在一个级别(Level)内导航…
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96.html 为什么用Python开发桌面应用程序_yu000hong_新浪博客http://blog.sina.com.cn/s/blog_48a45b950100zhwx.html 鱼C工作室-免费Python教学视频,论坛  里面有GUI开发的免费视频http://bbs.fishc.com/f…
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这个内存地址可能保存者一个基本数值. 指针变量也是有类型的.它需要知道自己保存的内存地址指向数值的类型,因为不同的数值类型占用的空间大小是不同的. 在指针中有两个重要的符号需要了解: &和. 其中&是用于获取普通变量的地址,而是获取内存地址指向的数值.看起来就是一对反向操作. 另外在声明指针时也…
系列文章全部为本人的学习笔记,若有任何不妥之处,随时欢迎拍砖指正.如果你觉得我的文章对你有用,欢迎关注我,我们一起学习进步! Kotlin学习笔记(1)- 环境配置 Kotlin学习笔记(2)- 空安全 Kotlin学习笔记(3)- 语法 Kotlin学习笔记(4)- 流程控制 Kotlin学习笔记(5)- 类 Kotlin学习笔记(6)- 属性 Kotlin学习笔记(7)- 接口 Kotlin学习笔记(8)- 扩展 Kotlin学习笔记(8)- 扩展(续) Kotlin学习笔记(9)- 数据类…
openresty 学习笔记二:获取请求数据 openresty 获取POST或者GET的请求参数.这个是要用openresty 做接口必须要做的事情.这里分几种类型:GET,POST(urlencoded),POST(form-data).可以根据需要选择某种提交请求的方式,也可以集合封装成一个工具库来使用 GET 请求 GET的请求数据比较简单 function _M.get(self) local getArgs = {} getArgs = ngx.req.get_uri_args()…
绪论 前几天我用一种方式实现了spring cloud的高可用,达到两个注册中心,详情见spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一),今天我意外发现,注册中心可以无限的增加,并这种方法也比较简洁,这里分享给大家 spring cloud 高可用注册中心(Eureka)(三个注册中心)的实现 1.创建工程,这里只需要两个工程,一个注册中心一个测试客户端,不知道怎么创建的可以看spring cloud(学习笔记)高可用注册中心(Eureka)的实现(一) 2.在工程…
计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链路层 TCP/IP详解学习笔记(3)-- IP:网际协议 TCP/IP详解学习笔记(4)-- ARP 和 RARP TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议 TCP/IP详解学习笔记(6)-- IP选路 TCP/IP详解学习笔记(7)-- 初识运输层 TCP/IP…
一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个方法.其中REQUEST方法为基础方法,其它六种方法均通过调用REQUEST方法实现.为了编写程序的便利性,提供了这额外6个方法.我们首先看一下这6个方法的含义,及其在库中对应的函数: GET:请求指定的页面信息,对应requests.get() HEAD:只请求页面的头部,对应requests.h…
一. 简述 以前在学校学习计算机网络的时候学习多是网络7层模型OSI,了解了一些基本的计算机网络概念和协议通信格式,但是一直没弄明白其中的原理,包括各层之间的关系,应用,还有一些常见的令牌环网到底是什么东西,这个OSI它和 TCP/IP协议簇到底是什么关系,为什么有很多协议一样?ip指令格式是什么样的?为什么老是忘记,记不住?3次握手,4次握手协议是什么?ack,syn等等说不清道不明字段是指什么?为什么以太网网卡通信速率有100mbps,两台主机之间的通信却只有不到120kpbs?...所有的…