读书笔记_python网络编程3_(2)】的更多相关文章

2.UDP 2.0.数据包表示较短的信息,大小通常不会超过几千字节,在浏览器与服务器进行会话/电子邮件客户端与ISP的邮件服务器进行会话时,这些独立而小型的数据包是如何组成会话的呢? 2.0.1.IP协议只负责尝试将每个数据包传输至正确的机器,如果两个独立的应用程序要维护一个会话的话,还需要两个额外的特性.这两个特性是由IP层以上的协议来提供的. 2.0.1.1. 多路复用(multiplexing):为两台主机之间传送的大量数据包打上标签,就可以将表示网页的数据包和用于电子邮件的数据包分开来,…
0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通过一个Docker容器实现 0.1.1.调制解调器A和B下面的客户机(h1~h4)表示典型客户端场景,家庭或咖啡店(内部网络,不能访问互联网,如果要连互联网,都通过调制解调器IP进行连接) 0.1.2.调制解调器通过ISP网关连接广域网(主干路由器,负责将数据包发送至与之相连的网络) 0.1.3.e…
3.TCP:传输控制协议 第一个版本在1974年定义,建立在网际层协议(IP)提供的数据包传输技术之上.TCP使程序可以使用连续的数据流进行相互通信. 除非网络原因导致连接中断/冻结,TCP都能保证将数据流完好无缺地传输至接收方,不会发生丢包.重包.乱序问题. 传输文档/文件的协议都使用TCP,包括浏览网页.文件传输.电子邮件的所有主要机制,也是人机间进行长对话的协议的基础之一,如SSH/聊天协议 经过30年的改进,现代TCP相当精良,除了协议设计专家,很少有人能再改进现代TCP栈的性能,就算是…
5. 网络数据与网络错误 应该如何准备需要传输的数据? 应该如何对数据进行编码与格式化? Py程序需要提供哪些类型的错误? 5.1. 字节与字符串 PC与网卡都支持将字节作为通用传输单元.字节将8比特的信息封装起来,作为信息存储的通用单位. 但是,RAM芯片与网卡不同,程序运行中,Py能隐藏RAM中的int.str.list.dict的具体实现细节,除非使用特殊调试工具,否则无法查看存储的字节,只能看到外部表现. 5.1.0. 网络通信的不同在于,socket接口将字节暴露了出来,字节无论对程序…
6.TLS/SSL 6.0. 传输层安全协议(TLS, Transport Layer Security)是如今web上应用最广泛的加密方法了,1999年成为互联网标准.前身是安全套接层(SSL, Secure Sockets Layer),1995年发布.现代web的许多基础协议都使用TLS来验证Serv身份,并保证传输过程中的数据. 6.0.1. TLS的使用及部署方法一直都在变化.每年都会出现针对TLS加密算法的新型攻击,也就出现了新的加密技术来应对攻击. 6.1. TLS无法保护的信息…
4.套接字名与DNS 讨论网络地址,描述将主机名解析为原始IP地址的分布式服务 4.1. 主机名与socket 浏览器汇总一般键入域名.有些域名标识整个机构.如,python.org,而另一些指定了主机/服务.如,www.google.com/asaph.rhodesmill.org.访问一些站点时,可以使用主机名的缩写.如,asaph,站点会自动填充主机名剩余部分.无论已经在本地进行了任何自定义设置,使用包含了顶级域名及其他所有部分的完全限定域名(fully qualified domain…
Outline 3.4 构建TCP服务器 3.5 构建HTTP服务器 3.6 构建TCP客户端 3.7 创建HTTP请求 3.8 使用UDP 3.9 用TLS/SSL保证服务器的安全性 3.10 用HTTPS保证HTTP服务器的安全性 3.4 构建TCP服务器 TCP服务器对象通过require("net").createServer()创建,它是一个事件发射器(event emitter),发射事件包括:listening, connection, close, error. TCP…
title: Java并发编程的艺术读书笔记(2)-并发编程模型 date: 2017-05-05 23:37:20 tags: ['多线程','并发'] categories: 读书笔记 --- 1.并发编程模型的两个关键问题 1.1线程之间如何通信. 通信是指线程之间以何种机制来交换信息.有两种:共享内存和消息传递.在共享内存的并发模型里,线程之间共享程序的公共状态,通过读写内存中的公共状态进行隐式通信.在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过发送消息来显示进行通信.j…
title: Java并发编程的艺术读书笔记(1)-并发编程的挑战 date: 2017-05-03 23:28:45 tags: ['多线程','并发'] categories: 读书笔记 --- 1.多线程不一定就比单线程快,因为线程有创建和上下文切换的开销. 1.1vmstat测试上下文切换次数,Lmbench3测时长 1.2如何减少上下文切换 1.2.1无锁并发编程:多线程竞争锁时,会引起上下文切换,所以多线程处理数据时,可以用一些办法来避免使用锁,如将数据的ID取模分段,不同的线程处理…
<Essential C++>读书笔记 之 C++编程基础 2014-07-03 1.1 如何撰写C++程序 头文件 命名空间 1.2 对象的定义与初始化 1.3 撰写表达式 运算符的优先级(precedence) 1.5 如何运用Arrays(数组)和Vectors(向量) 1.6 指针带来弹性 指针的使用 1.1 如何撰写C++程序 返回 函数(function)是一块独立的程序代码序列(code sequence),能够执行一些运算.它包含4个部分: 返回值型别(return type)…