本文只是简单整理了点网络基础笔记,有错误的地方希望能够指出,谢谢。
1.web及网络基础
- web是建立在http(HyperText Transfer Protocol,超文本传输)协议上通信的。
- 互联网的出现就是为了实现资源共享,那么要让计算机之间进行通讯,需要遵守一些规范和约定。最开始的通讯只能通过磁盘等存储工具拷贝数据到另一太电脑,这样很不方便,于是出现了两台计算机通过线路传输进行通讯的发明电路交换,在到后来实现的多台计算机通讯的分组交换技术(将大数据分割成一个个数据包进行传输)。而这些约定就是现在的协议,计算机的生厂商各不相同,需要进行统一的约定协议才能实现异构计算机之间的通讯
- 协议的标准化:ISO(国际标准化组织),制定了国际标准OSI(开发通讯互联网参考模型)。
层次 | 描述 |
---|---|
应用层 | 针对特定应用的协议:电子邮件=》电子邮件协议,文件传输=》文件传输协议。 |
表示层 | 将设备固有数据格式和网络标准数据格式进行转换。 |
会话层 | 通讯管理,复制创建和断开通讯连接,但是实际是由传输层建立和断开操作。 |
传输层 | 两个节点之间的数据传输。 |
网络层 | 地址管理与路由选择。寻址和路由。 |
数据链路层 | 数据帧与比特流之间的转换,传输数据帧。 |
物理层 | 比特流与电信号之间的转换 0 1 0 1。 |
说明 | 上下层之间进行交互遵循的约定叫接口。层与层之间交互遵循的约定叫做协议。这样每一层各司其职,扩展性更好。 |
- 网络通信中,可以根据目标地址的个数及其后续的行为对通信进行分类,例如:单播(老师与同学之间一对一交流),广播(早会校长面向全体师生讲话),多播(一个学校针对某一个班级下达的通知),任播(老师叫一个班的任意一个学生来搬东西[DNS根域名解析服务器])。
- ip地址具有唯一性,一个ip地址能够确定一台计算机。同时ip地址是有层次的,IP地址由网络号和主机号两部份组成。Mac地址也具有唯一性(可以修改本机Mac地址),Mac地址由设备的制造厂商针对每块网卡进行分别指定(厂商识别号+制造商内部产品编号+产品通信编号确保Mac地址的唯一性)
- Mac寻址和IP寻址:Mac寻址所参考的表叫地址转发表(交换机将自己的地址转发表将数据转发给路由器),IP寻址所参考的表叫路由控制表(路由器器根据自己的路由控制表将数据转发给下一个路由器或交换机)。
- 网络的构成要素:
设备 | 作用 |
---|---|
网卡(NIC) | 也称网络适配器。使计算机连网的设备。 |
中继器 | 物理层面上延长网络的设备。能将信号进行放大发传输。 |
网桥/2层交换机 | 能够识别数据链路层中的数据帧,再重新生成信号作为另一个全新数据帧转发给相连的另一个网段。网桥可以通过自学机制和过滤功能控制网络流量。通过物理地址(Mac地址)进行处理的。 |
路由器/3层交换机 | 路由器根据IP地址进行处理的,网络层地址即IP地址。 |
4-7层交换机 | 负责OSI模型中传输层到应用层的数据。应用:防火墙(通过网关通信) |
网关/协议转换器 | 处理传输层以上的数据,能够转发数据和对数据进行转换,通常会使用一个表示层或应用层网关。为控制流量出于安全考虑,有时候会使用代理服务器,客户端与服务器无需在网络层上进行通信,而是从传输层到应用层对数据访问进行控制,也称应用网关。 |
2.HTTP协议
- http协议用于客户端和服务端之间的通信。http请求报文通常包含请求头(请求行和各种首部字段)和请求内容组成。请求时会说明请求的方法(GET POST DELETE PUT)来获取或者更新资源等操作,HTTP/1.1是持久连接,一次tcp连接后可以进行多次的请求和响应,提高通信效率。
- 由于http请求是无状态的,一般用cookie和session配合来保存用户的信息和状态。
- http返回结果的状态码,常见的200表示请求正常处理完毕,302表示重定向,400请求报文中语法错误,401需要认证信息,403禁止访问,未授权,404资源没有找到,5xx服务器错误。
- http协议通信使用的是明文传输,内容可能会被窃听;不验证通信方的身份,因此可能遭遇伪装;无法证明报文的完整性,所以有可能信息被篡改。解决方法:
1.通信加密,http协议中中没有加密机制,可以通过SSL(Secure Socket Layer,安全套接层),或TLS(Transport Layer Security,安全传输层协议)的组合使用。
2.内容加密:将参与通信的内容本身加密,但是内容任然可能被篡改
- http+加密+认证+完整性保护=https 加密方式有对称加密和非对称加密(私钥和公钥)。但是https加密通信会消耗更多的cpu资源,比http慢。
- 计算机无法判断显示器前使用者的身份,这时候需要通过认证来确认。认证方式:
BASIC认证(基本认证)
DIGEST认证(摘要认证)
SSL客户端认证
FormBase认证(基于表单认证)
- http瓶颈:
一条连接上只能发送一个请求
请求只能从客户端开始。客户端不可以接收除响应以外的指令。
请求/响应首部未经压缩就发送。首部信息越多延迟越大。
每次发送冗余首部信息。
可任意选择数据压缩格式。非强制压缩发送。
针对雨http瓶颈,出现了些新的技术:Ajax局部刷新技术(是名为XMLHttpRequest 的 API),Comet技术,一旦服务端有内容更新,Comet不会请求等待,而是之间返回给客户端。但是这些都没有解决http协议本身的问题。之后出现了SPDY协议(会话层)
协议 | 层级 |
---|---|
HTTP | 应用层 |
SSL | 表示层 |
SPDY | 会话层 |
TCP | 传输层 |
- 使用SPDY后,http协议额外获得以下功能
- 多路复用
- 赋予请求优先级
- 压缩http首部
- 推送功能(服务器主动发消息给客户端)
- 服务器提示功能
但是SPDY基本上只是将单个域名(IP地址)进行多路复用,所以一个Web网站上使用多个域名下的资源时,改善效果就会受到限制。