周二1.13网络及网络协议的补充

局域网:一个局部空间才能够使用的网络(又称内网)

广域网:范围比局域网更大一个网络空间(又称外网)
三大运营商随便挑一家开通一个宽带 ——> 运营商这边给你分配账号并上门安装宽带 ——> 使用宽带拨号上网的
方式进行访问网络

在互联网当中,计算机与计算机之间想要进行相互通讯,必须提前知道对方的ip地址
ip地址的获得:通过DHCP进行动态分配ip地址

但是平时访问网站的时候又不需要我们输入ip地址,原因是 将网址转换成ip地址的工作有人帮我做了(域名解析器 -dns服务器)
所以我们不需要记 网站的ip地址,只需要记住 网址就够了

域名解析器(DNS): 将网址转换成对应的ip地址

localhost127.0.0.1 的区别:

localhost和127.0.0.1 都是表示本台计算机。是一种特殊的ip地址
区别在于:
localhost 不会受到防火墙的限制,另外不经过网络适配器,所以不会用到网络资源
127.0.0.1 会受到防火墙的限制,另外他会用到一点点的网络资源

软件的架构
b/s browser/server 这种结构的软件指的是不需要额外下载和安装第三方应用程序,只需要打开浏览器,输入对应网址
就可以使用
c/s Client/server 这种结构的软件指需要下载并安装第三方应用程序,才能够使用(比如王者)

常见协议:
ftp 文件传输协议 端口号21 用这两个协议的工具著名就是 xftp
sftp 安全文件传输协议 端口号22
ssh(Linux) 远程终端连接协议 端口号22 用这个协议的工具有 xshell
telnet(windows) 远程桌面连接

端口号:相当于是房间号,每个房间都住了一个协议,负责做不同的事情

OSI体系结构(网络七层模型):
OSI体系结构只是一个参考标准,
它把网络当中若干个协议进行了一个归类,
每一层当中都有不同协议负责不同的事情

协议
计算机与计算机之间想要在互联网当中进行通讯所必须要遵守的某种格式,
相当于人与人之间签订一个合同

OSI体系结构:
	7、应用层
		规定应用软件所使用的协议,比如邮箱所用到的SMTP,POP3,
		远程桌面登录使用TelNet ,域名解析用的DNS,网页浏览的HTTP
		这部分协议主要规定应用软件如何去进行通讯
6、表示层
	决定数据的显示方式,比如视频的格式有 rmvb,avi,mp4 ,flv。

5、会话层
	为两端通讯实体建立连接,中间有认证鉴权(检查双方设备信息,
	比如打电话检验设备是否欠费)以及检查点记录(能够帮忙会话意外中断的时候,还能继续,类似于断点传输)
	比如在电梯里接电话

4、传输层
	HTTPS 工作在传输层,对这些小段造一个安全外壳(SSL),
	将一个数据或文件拆分成很多个小段,标记顺序已被对方接收后可以按顺序重组
	另外标记该应用程序所是用到的端口号(不同应用程序使用不同计算机端口号,
	标记了端口号过后,就可以确保对方也是使用同样的应用程序进行通讯)

3、网络层
	路由器选路,选择本次通讯所使用到的协议,获取ip地址的DHCP就在这一层
	
2、数据链路层
	根据端口号与MAC网卡地址,做分组,隔离,端口安全,访问控制(每台电脑的mac网卡地址都是唯一的,哪怕是重装了系统,mac网卡地址还是不变的)

1、物理层
	将数据或者文件翻译成二进制数据,通过铜缆传输(网线刚好8根细铜丝)

数据传输使用的协议一般是这2个:
TCP或UDP,所以又有了一种TCP/ip 四层模型

TCP/IP模型当中:
	把应用层,表示层、会话层结合在了一起	统称 4、应用层
		                               3、传输层																	 	       2、网际层
	把数据链路层和物理层结合在了一起统称      1、网络接口层
HTTP五层模型:
	把应用层,表示层、会话层结合在了一起	统称 5、应用层
												 4、传输层
												 3、网络层
												 2、数据链路层
												 1、物理层

TCP 传输控制协议
UDP 用户数据报协议
区别:
TCP一套面向连接的协议(比如说打电话: 先拨号——等待接听——如果对方选择接听——连接建立成功——开始进行通讯,反之连接建立失败)
想要发送数据,双方之间必须要建立一个可靠的连接,确保双方都能收到数据。
TCP发送的数据量小,但是精准,速度较慢

UDP一套面向非连接的协议(比如发短信: 先添加收信人——编辑内容——点击发送)
想要发送数据,双方建立的连接不可靠,主要是不稳定,不知道什么时候对方的连接断开了
udp发送的数据量大,但是容易造成数据丢失,速度快

官方解释:TCP建立连接需要经历三次握手:
第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(established已确认)状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
至此,完成三次握手。

举例说明:三次握手
TCP连接建立过程:(TCP三次握手)
	第一次握手:小明跟小红说: 你长的很漂亮,咋两处对象吧!
	第二次握手:小红露出一丝狡黠的笑容说:你确定?
	第三次握手:小明擦了擦头上的冷汗说:我确定!		

​	——————————之后连接建立成功,开始亲密的交往

官方解释:TCP断开连接需要经历四次挥手
与建立连接的“三次握手”类似,断开一个TCP连接则需要“四次挥手”
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不 会再给你发数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,主动关闭方依然会重发这些数据),但是,此时主动关闭方还可 以接受数据。
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号)。
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,

举例说明:四次挥手
TCP连接断开的过程:(TCP四次挥手)

第一次挥手: 小明对小红说:你太懒了,我要和你分手
第二次挥手:  小红说: 好,臭男人,等我把我的东西收拾完
			 ......
第三次挥手: 小红说: 臭男人,我的东西收拾完了,咱们分手吧!
第四次挥手: 小明说,好的 拜拜
	—————————— 连接断开 ,从此形同陌路人(最终还是一个人抗下了所有)

HTTP: 超文本传输协议
作用: 用来定义web浏览器(客户端)与web服务器之间 进行通讯所必须要遵守的数据格式
底层是基于TCP的一套协议
默认端口号 80
是一套请求与响应的协议
(请求由客户端发起) (响应由服务器做出)
比如:打开浏览器,输入www.baidu.com 称之为请求
浏览器当中显示出百度的页面 称之为响应
一个请求必然对应了一个响应
http协议的版本:

http1.0(http短链接)
	指一个web请求到服务器过后,只能获得一个web资源
http1.1(http长链接)
	指一个web请求到服务器过后,只能获得多个web资源

怎么区分长链接还是短链接:
1、打开浏览器
2、输入网址
3、按f12或者 Ctrl+Shift+I
4、在右侧窗口点击network
5、刷新网页
6、在name区域点击任意请求
7、观察requestHeaders和responseHeaders选项卡当中的数据
检查是否含有一个 connection的属性
如果connection的值等于 keep-alive 则为http1.1(长链接)
如果connection的值等于 closed 则为http1.0(短链接)

HTTP请求头当中最重要的信息:
请求方式(请求方法):
常用的:get、post
不常用:head、delete、trace 、put 、options

各自作用:
		get      --- 通过请求URL得到资源,比如打开xxx网页
		post 	 --- 用于添加新的内容,比如登录注册
		head	 --- 类似于get,但是不返回body信息。用于检查对象是否存在,以及得到对象的元数据
		delete	 --- 删除某个内容
		trace	 --- 用于远程诊断服务器
		options	 --- 询问可以执行哪些方法
		put	 --- 用于修改某个内容

get和post的区别:
	1、get倾向于向服务器获取某个资源,而post倾向于向服务器提交某些资源 
	2、get发送数据有大小限制,最大不得超过1k,post无限制
	3、get传输参数先用一个?跟网址隔开,然后使用参数名称=值得方式进行传输数据
		如果有多个参数用 & 进行连接
	4、get发送的数据存储于请求头当中,post发送的数据存储与请求体当中
	5、get发送数据完毕只会返回一个状态码(200)
		post发送数据返回2个状态,先返回100(先打个招呼待会要传输数据)
		在返回200(数据传输完毕)
	6、get发送的参数会被浏览器自动缓存下来,而post不会
	7、在浏览器执行后退和前进,刷新操作的时候,get已发送的过的值不会再次发送
		但是post 会再次提交一次数据
	8、get发送的请求会在浏览器地址栏当中留下历史记录,而post不会


请求头:
		一部分常见的:
		Accept				--支持数据类型
		Accept-Charset		--字符集
		Accept-Encoding		--支持压缩
		Accept-Language		--语言环境
		Host				--访问主机
		If-Modified-Since	--缓存时间
		Referer				--来自哪个页面、防盗链
		User-Agent			--客户端信息
		Cookie				--缓存
		Connection			--链接状态
		Date				--访问时间
HTTP响应头当中最重要的信息:
	响应状态码:
		是一个3位的10进制数字,用来描述服务器对该请求的处理结果
		具体可分为5组
	100-199:表示成功接收请求,服务器还未进行处理
	200-299:表示成功接收请求并已完成整个处理过程,常用200
	300-399:重定向
	400-499:客户端的请求有错误,常用404
	500-599:服务器端出现错误,常用 500


响应头:
Location --跳转方向
Server --服务器型号
Content-Encoding --数据压缩
Content-Length --数据长度
Content-Language --语言环境
Content-Type --数据类型
Last-Modified --最后修改时间
Refresh --定时刷新
Content-Disposition --下载
Set-Cookie --缓存
Expires --缓存
Cache-Control --缓存
Pragma --缓存
Connection --连接状态
Date --响应时间

HTTP和HTTPS的区别
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
5、HTTP工作在应用层,HTTPS工作在传输层

HTTP的组成:
请求行、请求头,请求体,HTTP协议版本号四部分组成
其中请求行由请求方法、URL字段、以及主机组成
响应行由HTTP协议版本号、状态码,以及响应报文三部分组成

url(网址)的组成:
https://login.taobao.com/member/login.jhtml
https 所使用的协议 也可以是http
login.taobao.com 域名也可以是 ip地址
member 服务器当中的目录名
login.html 服务器当中的文件名

域名:分为1级域名 2级域名 3级域名
区分到底是几级域名,数这个域名有几个小数点(www.这个不算在内)
比如: baidu.com 一级域名
mail.qq.com 二级域名
music.163.com

浏览器缓存:
浏览器缓存用户数据 有2种方式:
一种: cookie
另外一种: session
cookie 早期存储用户数据方式,相当于用户通行证,后发现这种方式容易造成用户数据泄露,所以为了解决这一问题,session

session(会话) 相当于用户明细表。每次用户发起请求过后,会校验一次通行证与用户明细表对应的信息是否一致,如果不一致则拦截请求,如果一致则放行

cookie和session的区别:
cookie 用户通行证,存储在客户端之上,单个cookie存储的信息大致在 3-4k左右,但是有n多cookie
session 用户明细表,存储在服务端之上,session里面不宜存储过多数据,容易造成session紊乱(显示了一些不该显示出来的数据)
cookie 只要用户不主动清除,将一直存储在客户端
session 由于服务器的资源比较宝贵,session的有效时长为30分钟,30分钟过后,session自动销毁(需要用户重新输入用户名和密码等信息)
服务器宕机,网站关闭等都会清空session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值