状态码:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态代码、状态描述、说明:
1**:请求收到,继续处理
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
2**:操作成功收到,分析、接受
200——交易成功
201——提示知道新文件的URL
202——接受和处理、但处理未完成
203——返回信息不确定或不完整
204——请求收到,但返回信息为空
205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206——服务器已经完成了部分用户的GET请求
3**:完成此请求必须进一步处理
300——请求的资源可在多处得到
301——删除请求数据
302——在其他地址发现了请求数据
303——建议客户访问其他URL或访问方式
304——客户端已经执行了GET,但文件未变化
305——请求的资源必须从服务器指定的地址得到
306——前一版本HTTP中使用的代码,现行版本中不再使用
307——申明请求的资源临时性删除
4**:请求包含一个错误语法或不能完成
400——错误请求,如语法错误
401——未授权
HTTP 401.1 - 未授权:登录失败
HTTP 401.2 - 未授权:服务器配置问题导致登录失败
HTTP 401.3 - ACL 禁止访问资源
HTTP 401.4 - 未授权:授权被筛选器拒绝
HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败
402——保留有效ChargeTo头响应
403——禁止访问
HTTP 403.1 禁止访问:禁止可执行访问
HTTP 403.2 - 禁止访问:禁止读访问
HTTP 403.3 - 禁止访问:禁止写访问
HTTP 403.4 - 禁止访问:要求 SSL
HTTP 403.5 - 禁止访问:要求 SSL 128
HTTP 403.6 - 禁止访问:IP 地址被拒绝
HTTP 403.7 - 禁止访问:要求客户证书
HTTP 403.8 - 禁止访问:禁止站点访问
HTTP 403.9 - 禁止访问:连接的用户过多
HTTP 403.10 - 禁止访问:配置无效
HTTP 403.11 - 禁止访问:密码更改
HTTP 403.12 - 禁止访问:映射器拒绝访问
HTTP 403.13 - 禁止访问:客户证书已被吊销
HTTP 403.15 - 禁止访问:客户访问许可过多
HTTP 403.16 - 禁止访问:客户证书不可信或者无效
HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效
404——没有发现文件、查询或URl
405——用户在Request-Line字段定义的方法不允许
406——根据用户发送的Accept拖,请求资源不可访问
407——类似401,用户必须首先在代理服务器上得到授权
408——客户端没有在用户指定的饿时间内完成请求
409——对当前资源状态,请求不能完成
410——服务器上不再有此资源且无进一步的参考地址
411——服务器拒绝用户定义的Content-Length属性请求
412——一个或多个请求头字段在当前请求中错误
413——请求的资源大于服务器允许的大小
414——请求的资源URL长于服务器允许的长度
415——请求资源不支持请求项目格式
416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求长。
5**:服务器执行一个完全有效请求失败
HTTP 500 - 内部服务器错误
HTTP 500.100 - 内部服务器错误 - ASP 错误
HTTP 500-11 服务器关闭
HTTP 500-12 应用程序重新启动
HTTP 500-13 - 服务器太忙
HTTP 500-14 - 应用程序无效
HTTP 500-15 - 不允许请求 global.asa
Error 501 - 未实现
HTTP 502 - 网关错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
HTTP,HyperText Transfer Protocol,超文本传输协议,是网络应用层协议。HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议,提供一种发布和接收HTML页面的方法。
HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是Web浏览器,服务器端是网站。在Web浏览器和服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。
通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接,一次HTTP操作称为一个事务,其工作过程可分为四步:
客户机与服务器需要建立连接;
建立连接后,客户机发送一个请求给服务器;
服务器接到请求后,给予相应的响应信息;
客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
三次握手、四次挥手
HTTPS和HTTP的区别:
https协议需要到ca申请证书,一般免费证书很少,需要交费。
http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的。
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。
HTTP工作于应用层,HTTPS工作于传输层
cookie,localstorage,sessionstorage的区别
cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递;cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
跨域:jsonp 原理:src
第一章 概述
1、网络 互连网 互联网
网络:由结点(计算机、集线器、交换器、路由器等)和链路组成。
互连网:网络通过路由器互连起来。
网络把计算机连起来,互连网通过路由器把网络连起来,与互连网相连的计算机叫主机
ISP:互连网供应商(电信、联通等)
2、访问网站传输过程
FCS:校验值
每台计算机、路由器、接口 都有物理地址:mac地址(图中m1,m2,m3...)
想要访问一个网址,首先由DNS将域名解析成IP地址
数据包: 数据+源IP地址+目标IP地址
数据包无法传输到路由器、接口,所以需要物理地址
数据帧:数据+源IP地址+目标IP地址+源物理地址+下一个目标物理地址(路由器或接口)
物理地址一直在变,ip地址是不变的
物理地址决定了下一个给谁,ip地址决定了最终给谁
上图左边是客户端,右边是服务端
服务端将网页进行切割后传给服务端
服务端把网页切割成很多小的数据包放在缓存中,开始发送,发送到客户端的缓存中,客户端会给服务端一个信号表示已经接收到,此时服务端把已发送的这个数据包从服务端的缓存中删除,并开始发送下一个数据包。
所有发送完成后从缓存中读取。
3、OSI参考模型(分层)(开发系统互连基本参考模型)
从上往下:
1) 应用层:所有能和用户交互产生网络流量的程序
2)表示层:在传输之前是否进行加密或压缩处理(传输之前的处理)(服务端和客户端使用不一样的编码就会产生表示层错误)
3)会话层: (访问一个网页,要确保服务器返回的网页显示在客户端打开的窗口中,就需要建立会话,不至于打开一个页面,显示出另一个页面的内容)可以查看木马 netstat-n(命令行)
4)传输层:可靠传输、流量控制、不可靠传输(纠错)
可靠传输:只要客户端没收到就一直传输
不可靠传输:不需要建立会话,例如解析域名的Ip地址,只需要客户端和服务端各发一个包
5)网络层:负责选择最佳路径,规划IP地址(划分网段)
6)数据链路层:定义帧的开始和结束(定义数据的开始和结束),透明传输,差错校验(除了帧头和帧尾还有校验值)
(只负责检查,但是不纠错,纠错是传输层,只负责接收正确的,错误的就扔掉)
(升级交换机:百兆变千兆,速度变快了)
7)物理层:定义网络接口的标准,电器标准,如何在物理链路上传输更快。(更换网线)
由低向高服务
OSI参考模型对网络拍错的指导意义
打开网页无法访问:
1)物理层:查看网卡状态、连接状态、发送和接收的数据包
2)数据链路层:负责MAC地址(可能是因为MAC地址冲突,ADSL欠费,网速没办法协商一致,计算机连接到错误的VLAN(虚拟局域网))
3)网络层:规划地址,选择路径 (配置了错误的IP地址、子网掩码、配置了错误的网关、路由器上没有配置到达目标地址的网络)
4)应用层:(是否设置了错误的代理)
命令行:ping 查看网络是否连通 (网络层没有问题)
先输入 ipconfig 复制ipv4地址 然后 ping ipv4地址 来检查本地的TCP/IP协议是否是正常的,发送与接收的数据相同就是正常的
OSI参考模型和网络安全
1)物理层安全
2)数据链路层安全 ADSL账号密码 无线账号密码 VLAN 交换机端口绑定MAC地址
3)网络层安全 在路由器上使用ACL控制数据包流量(防火墙)
4)应用层安全 开发的应用程序没有漏洞
4、TCP/IP协议和OSI参考模型
TCP:可靠传输 UDP:不可靠传输
服务端传递一个网页:
应用层准备传输网页
传输层进行切割(数据太大)
网络层负责写地址,并选择路径
FCS是校验的
5、计算机网络的性能指标
1)速率(单个信道上)
连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称为data rate或bit rate。 单位是b/s, kb/s, Mb/s, Gb/s。
2)带宽(最高)
数据通信领域中,数字信道所能传送的最高数据率 单位是 b/s, kb/s, Mb/s, Gb/s。
3)吞吐量(总的)
即在单位时间内通过某个网络的数据量; 单位b/s, Mb/s, 等。
4)时延
数据从一端传送到另一端的时间
网卡提升成百兆(信道带宽),提高的是发送时延
但是发送速度过快,会影响1比特占多长长度,最后会识别不出来(不会影响传播时延)
传播信号:光纤不比铜线快
5)时延带宽积
指:有多少数据在线路上
6)往返时间
RTT(Round-Trip Time) 从发送方发送数据开始,到发送方收到接收方确认。
可以用ping命令查看
7)利用率
所以达不到带宽的速率
第二章 物理层
1、基本概念
物理层解决如何在连接各种计算机的传输媒体(光纤、无线等)上传输数据比特流(010101...)。
物理层的主要任务描述为:确定传输媒体的接口的一些特性:
机械特性:例接口形状,大小,引线数目
电气特性:例电压范围(-5V到+5V)
功能特性:例规定-5V表示0,+5V表示1
过程特性:(规程特性),规定建立连接时各个相关部件的工作步骤
2、数据通信
1码元可以携带nbit信息量
信道:向某一个方向发送信息
一条通信电路往往包含一条发送信道和一条接收信道
单向通信:电视台发送信号
双向交替通信:对讲机(不能同时)
双向同时通信:打电话
基带信号:基本频带信号——来自源的信号
带通信号:把基带信号经过载波调制后
传输距离较近时,计算机网络采用基带信号:计算机到显示器、打印机等外设的信号
长距离:将基带信号调制成带通信号
基本调制方法:
调幅(AM)
调频(FM)
调相(PM)
常用编码
信道极限容量
奈氏准则:无信号干扰,码元的传输速率有上限
信噪比 香农
香农公式:有信号干扰,无差错传输速率由公式体现
计算机连交换机或路由器:直通线(不同类)
计算机连计算机(交换机连交换机):交叉线(同类)
现在的网卡都可以自动协商,可以用错误的线序
数据通信:介质中传播数据
非导向传输媒体:无线(微波、短波)
信道复用
宽带接入技术
ADSL(电话线)
第三章 数据链路层
数据链路层:给数据加帧头、帧尾(MAC地址)、物理层地址、校验值。
链路:是一条点到点的物理线路段,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。
数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。(网线接到网卡上,网卡上就有一些协议)
封装成帧
网络层过来的数据,IP数据包
透明传输:数据中含有帧开始的标记和结束的标记,会在前面加一个ESC的转义字符
3、差错控制:加一个帧检验序列
信道:这种信道使用一对一的点对点通信方式。
广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
点对点:(广域网使用点对点信道的数据链路层)
现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。
广播信道:(局域网使用广播信道的数据链路层)
计算机数量多
广播指:所有都能收到 但是有地址
协议:CSMA/CD 载波监听多点接入/碰撞检测
以太网:满足CSMA/CD协议的
以太网提供的服务是不可靠的交付,即尽最大努力的交付
MAC层的硬件地址:网卡地址,物理地址,全球唯一
网桥:优化以太网 以MAC地址
网桥就变成了交换机
交换机接的是计算机
不会有冲突,交换机有存储能力
交换机:端口带宽独享,安全,基于MAC地址转发
第四章 网络层
网络:交换机连计算机
互连网:网络和网络通过路由器连接(路由器作用:在不同网络之间转发数据,不负责丢失重传,也不负责顺序)
数据传输完整不完整:是由传输层决定的
互联网的复杂:物理层不同、数据链路不同(协议不同)
网络层只关心目标IP地址,来选择路径。
路由器是三层设备:可以看到网络层的ip地址,根据地址来选择路径。
发送端:
1、应用层:应用程序准备要传输的文件
2、传输层:(段)将文件分段,并编号
3、网络层: (数据包)添加目标IP地址、源地址
4、数据链路层:(帧)两种情况:1)同一个网段:使用自己的子网掩码 判断自己在哪个网段,使用自己的子网掩码 判断目标地址在哪个网段,如果是一个网段,ARP协议广播解析目标IP地址的MAC地址
2)不是同一个网段:
5、物理层:(比特流)
1层设备:集线器:只负责传递比特流,加强信号(属于物理层)
2层设备:交换机:接收数据帧,存储在接口,看目标MAC地址,选择哪一个接口发出,存储转发(属于数据链路层)
3层设备:路由器:收到数据帧后,去掉MAC地址,根据数据包选择路径(属于网络层)
网络层协议:
ARP为IP提供服务,IP为ICMP/IGMP提供服务
ARP(只能本网段,不能跨路由):将IP地址通过广播,目标MAC地址是FF-FF-FF-FF-FF-FF,解析目标IP地址的MAC地址
ARP欺骗:MAC地址欺骗
命令:查看:arp -a 修改 :arp -s
ARP协议:负责把IP地址解析成物理层地址(MAC地址)
IP协议:负责把数据包从一个网段转发到另一个网段
ICMP协议:测试网络层是否故障(检测)(ping命令检测)(依赖于IP协议)
ping time 查看延迟 TTL
ping 主机(ipconfig获得)-t
域名解析:DNS
IGMP协议:多播=组播
IP数据包
IP数据包,首部20个字节,数据部分1480字节,如果大于1480字节,就需要在数据链路层分片
数据链路层地址、校验值一共是18字节,数据包是46-1500字节
以太网的数据帧不超过1500字节
分片:数据包太大,分成几个数据,分别加上地址
泪滴攻击:发送不完整的分片信息
网络畅通的条件:数据包有去有回
静态路由:需要管理员告诉路由器所有没有直连的网络下一跳给谁
静态路由:缺点:适合于小规模网络。不能自动调整路由。
动态路由:RIP 周期性广播路由表 跳数 30秒更新下一次路由信息
第五章 传输层
TCP:传输控制协议(分段,可靠传输,保持会话,可以流量控制)
UDP:用户数据报协议(一个数据包就能够完成数据通信,不需要分段,不需要建立会话,不需要流量控制,进行不可靠传输)
用DNS发送请求解析域名:UDP协议
QQ聊天:UDP协议
屏幕广播、多播:UDP协议
查看建立的什么协议(查看会话): 打开页面 然后命令行 netstate -n
传输层协议和应用层协议之间的关系
传输层协议+端口号可以表示一个应用层协议
常见:
http:TCP+80
https:TCP+443
RDP:TCP+3389(远程桌面协议)
ftp:TCP+21
共享文件夹:TCP+445
SMTP:TCP+25(发邮件)
DNS:TCP+53
telnet:TCP+23
SQL:TCP+1433
服务与应用协议之间的关系
服务使用TCP或UDP的端口侦听客户端请求
客户端使用IP地址定位服务器 使用目标端口 定位服务
可以在服务器网卡上设置只开放必要的端口 实现服务的网络安全
如何查看服务侦听的端口 netstat -an
查看建立的会话 netstat -n
查看建立的会话的进程 netstat -nb
测试远程计算机某个端口是否打开 telnet 192.168.80.100 3389
更改服务使用默认端口 迷惑入侵者,使系统更加安全
如何设置windows网络安全 设置本地连接 TCP/IP筛选 只允许
传输层功能:为相互通信的应用程序提供了逻辑通信(从程序到程序)
网络层:从地址到地址
传输层的端口:端口号只具有本地意义。只是为了标志本计算机应用层的各进程。
UDP:
无连接、发送数据之前不需要建立连接、一次性发完、适合多媒体通信、支持一对一、一对多、多对多、面向报文、没有拥塞控制、首部八个字节:源端口2、目的端口2、长度2、检验和2
TCP:
面向连接、每一条TCP连接只能有两个端点、只能是点对点(一对一)、提供可靠交付、全双工(同时收和发)、流量控制、面向字节流
A和B传输之前,先要确保网络是连通的(三次握手)
套接字:IP地址加端口
可靠传输: 停止等待协议,超时重传,自动重传请求ARQ
信道利用率低,但是简单
流水线传输:连续发送多个分组,不等对方的确认。(现在都用这个)
TCP报文段:首部一般20字节
TCP与UDP的区别:
连接性:TCP面向连接;UDP是无连接的。(TCP需要三次握手,而UDP不需要握手)
可靠性:TCP提供可靠的服务;UDP尽最大努力交付,即不保证可靠交付。(通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP则可能出现丢包,不保证顺序到达)
面向对象:TCP面向字节流;UDP是面向报文的。( 面向报文的是指发送方的UDP对应用层交下来的数据报文,不合并不拆分,只是在其上面加上首部后就交给了下面的网络层。)。
差错拥塞控制:UDP没有差错和拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低。(TCP拥塞控制,当另一端出现阻塞时,会降低发送速率)。
系统开销:TCP首部开销20字节(具有报文段序号,应答序号,窗口大小等);UDP的首部开销小,只有8个字节(2个字节的源端口,2个字节的目的端口,2个字节的报文长度,2个字节的校验和)。
信道:TCP的逻辑通信信道是全双工的可靠信道,即可以流入也可以流出的信道;UDP则是不可靠信道。
有序性:TCP是有序的字节流;UDP则是无序的。(这是由于tcp头部存在报文段的序号,而udp没有)
TCP的传输连接管理(三次握手)
传输连接有三个阶段:连接建立、数据传送、连接释放
TCP连接的建立都是采用客户服务器方式
主动发起连接建立的应用进程叫做客户
被动发起连接建立的应用进程叫做服务器
首先客户端A给服务端B发一个数据包:同步是1,确认标记是0,序号是x(一个数值),B接到数据包后能看到这是一个主动发起连接的数据包,这是一个建立连接的请求。B就发一个数据包进行回应:同步是1,确认标记是1,序号是y,确认序号是x+1,这是一个确认连接的请求。A收到确认后,A再给B发一个数据包,没有同步标记(是0),确认标记是1,序号是x+1,确认序号是y+1
为什么要第三次握手?
如果第一次A向B发送数据了一个比较远的网络,时间很长没有收到相应,于是A又向B再发送一个请求,选择了较近的网络,B收到后给A发送了一个确认请求,这时第一次发的请求也到了,B又给A发了一个确认请求,此时A只会管第一次收到的B的确认,这一次收到的请求就不会管,此时B就在等待A的确认,所以就造成了资源浪费。因此需要A进行第三次握手确认。剩下的就是通讯的数据包了。
A向B发第一次请求时:A的状态:syn-sent,
B收到后给A一个确认,B的状态:syn-rcvd,
A收到B的确认后,A的状态:ESTABLISHED
当B收到A的确认后,B的状态:ESTABLISHED
都变成ESTABLISHED之后就开始数据传输
TCP的连接释放
(打开网页所有内容都传到本地了,数据传输结束,通信的双方都可释放连接)
客户端A首先发一个数据包给服务端B:FIN=1,主动关闭,seq=u,等待B确认
B收到之后给A一个确认:ACK=1,seq=v,ack=u+1,此时A不能给B发送数据了,但B仍然可以给A发送数据
当B再给A发一个关闭的请求:FIN=1,ACK=1,seq=w,ack=u+1
A再给B一个确认:ACK=1,seq=u+1,ack=w+1
等待2MSL:4分钟
A发送的确认释放连接信息B没有收到(第四次),如果不等待2MSL,A的状态直接变成CLOSED,这时B再次发送一个FIN=1的释放连接请求,A已经变成了CLOSED,就不会再给B发送确认请求了,这样B就永远关不掉了。
第六章 应用层
web服务,使用http协议:TCP+80端口
1、域名系统DNS服务
DNS服务作用:将域名解析为IP地址
域名:全球唯一的网站名称
域名解析测试:ping 域名 就可以解析出IP地址 或者 nslookup 域名
域名解析的过程:根DNS服务器,负责顶级域名(.com .edu .cn),每一个顶级域名又负责各自的DNS域名解析
2、DHCP 动态主机配置
静态IP地址
动态IP地址
DHCP 客户端请求IP地址的过程
DHCP 客户器的地址必须是固定静态IP地址
3、文件传输协议:FTP协议:TCP+21端口
TCP数据连接:主动模式:FTP客户端告诉FTP服务器使用什么端口侦听,FTP服务器和FTP客户端的这个端口建立连接。源端口20
被动模式:FTP服务器被动打开一个新端口,等待FTP客户端连接
FTP服务器端 如果有防火墙,要开20和21端口,使用主动模式进行数据连接
4、远程终端协议TELNET:TCP+23端口
5、远程桌面协议RDP
6、超文本传输协议:Http:TCP+80端口
使用web代理服务器访问网站
1、节省内网访问Internet的带宽
2、通过web代理绕过防火墙
第七章 网络安全
通信的四种威胁:1、截获(被动攻击)2、中断(主动攻击)3、篡改(主动攻击)4、伪造(主动攻击)
加密技术:对称加密(效率高、不适合在网上传输、秘钥维护麻烦)、非对称加密
对称加密:数据加密标准DES
非对称加密:加密秘钥和解密秘钥bu同 秘钥对:公钥和私钥(系统根据随机数产生公钥和私钥)
非对称加密效率低
非对称加密的细节:可以用对称加密加密要传输的文件(效率高),再用非对称加密对称加密的秘钥(很短,所以加密也很快)
数字签名:防止抵赖、能够检查签名之后内容是否被更改
证书颁发机构:为企业和用户颁发数字证书 确认这些企业和个人的身份 发布证书吊销列表 企业和个人信任证书颁发机构
Internet上使用的安全协议
安全套接字SSL
SSL的位置
SSL加密,SSL解密,在应用层和传输层之间
https:使用了加密的http
https:TCP+443
先用公钥对 对称加密的秘钥 进行加密, 然后数据是用对称加密进行的秘钥进行加密的。
SSL的功能:1、服务器鉴别2、加密3、客户鉴别
仿照网站,但是证书是不一样的