dns与域名:
网络是基于tcp/ip协议进行通信以及链接
应用层——传输层——网络层——数据链路层——物理层
ip地址,我们每一台主机,都有唯一的地址标识(固定的ip地址)
ip地址的作用: 1,区分用户和计算机
2,ip地址用来通信
ip地址的问题:
是由32位的二进制数组成,不方便记忆。
所以有了域名:www.baidu.com
dns解析:就是把域名解析成ip地址,方便通信访问。
1,/etc/hosts :负责快速解析的文件,内容包含了ip与主机名之间的映射关系。如果没有dns服务器的情况下,可以使用/etc/hosts文件来完成解析和映射。
2,etc/resolv.conf :dns客户端的配置文件,设置dns服务器的ip和域名。还包含了主机域名的搜索顺序。主要是域名解析服务器使用的配置文件。
3,修改网卡配置文件 :ifcfg-ens33
1,本地文件 hosts
2,网卡配置文件 ens33
3,reslov.conf
现在dns域名解析服务器都是由运营商来做。
1,保持和维护域名空间。
2,响应解析请求。
解析端(客户端)
根域——顶级域——二级域——子域——主机名
html:超文本标记语言,是一种规范的,标准的语言格式。网页文件本身就是一个文本文件,html通过标记的方式,告诉浏览器如何显示文本当中的内容。html文件是一个文本文件,所有能够生成txt文件的工具,都可以进行编辑,修改之后的文件后缀名:.html或者.htm
网页:纯文本格式的文件,用html语言来进行编写的。用浏览器翻译成页面的形式显示出来。
网站:是由多个页面组成的,网页的结合体。主页,打开网站之后出现的第一个页面就是网站的主页(首页)。
域名:浏览网页时输入的网址。
http/https
用来传输的通信协议,https就是加密的,是一种通信协议,基于头层皮、协议,端口号,http默认是80,https默认443
URL:万维网寻址系统,唯一标识。
哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 完整格式,是url
uri
舞蹈-哔哩哔哩 (゜-゜)つロ 干杯~-bilibili id from=333.1007.0.0
从/v/开始就是uri
超链接:超链接将网站中不同的页面连接起来。
发布:将制作好的网页上传服务器,供用户访问。
web2.0用户交互
静态页面和动态页面
静态页面就是标准的html文件
扩展名都是.htm .html
里面可以包含图片,文本,声音,动画。
是网站建设的基础,早期的网站都是静态页面。
没有后台数据,不包含可交互的内容。
更新起来比较麻烦,一般用于展示型网站。
1,静态页面的URL是固定的,一般不包含?
2,页面一经发布,都是保存在网站的服务器上的。
3,静态页面相对稳定,内容甚少发生变化,容易被搜索引擎搜索。
4,没有数据库的支持,制作和维护的工作量比较大。网站的信息量如果太大,单纯使用静态页面比较困难。
5,没有交互性,只能看,功能上受限很大。
6,浏览速度很快,因为不需要连接后端数据库。
1,网页url是不固定的,用户可以和后台数据进行交互。
2,动态页面的网址中,一般会包含一个特殊标记?
3,动态页面的语言:PHP,JSP,PYTHON,RUBY,TOMCAT(java)。
1,交互性。
2,自动更新。
3,特效,每个人进入页面的时候,会有不同的效果。
静态页面就是:看
动态页面:交互
web3.0交互,场景融合
http协议:超文本传输协议。互联网上应用最广泛的网络协议
基于tcp协议,应用层的传输协议。面向的是用户,客户端和服务端之间进行数据传输的一种规则
1,客户端和服务端进行tcp连接。三次握手——建立连接
2,客户端发送http请求,服务端接收到http请求之后,响应客户端的请求
3,通过socket接口,通过端口进行通信
4,响应到达客户端,解析的过程(浏览器),用户查看,使用,访问。
5,访问,使用,查看,结束之后,断开连接,四次挥手。
http是一种无状态的协议,本身不会对发送过的请求和响应的通行进行持久化处理(连接保持),为了让http能够快速大量的进行处理事务,提高效率。
cookie:记录用户的登陆状态,还可以跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息。这个是服务器留在用户计算机的小文件
http协议本身自带的连接保持功能(从http1.1开始自带,长连接)
1,一次性获取页面文件的所有信息,不再需要分开处理请求。所以速度大大加速,并行处理。
2,连接保持:keep-alive,在一个tcp连接上可以传送多个http的请求和响应,减少了建立和关闭连接的消耗和延迟。连接保持是由时间的,不是无限的,默认开启,一般为60秒
连接资源占用:长时间的保持会降低服务器的负载,如果是高并发,会是服务器耗尽资源
连接状态管理:长连接需要维护连接状态。服务器需要跟踪每个连接的状态,也会增加服务器的负担。(集群的诞生)
https:加密通信协议,加密数据传输
1,请求头:请求头当中包含请求体
请求体当中的内容:
)1,Accept:客户端可以接受的数据类型。
)2,Accept-Encoding:客户端可以接受的编码格式
)3,Accep-Language:客户端可以支持语言类型
)4,Cache-Control:缓存时间,图片或者音频文件的缓存时间
)5,Connection:告诉服务器处理请求连接。一般默认都是keep-alive,连接保持,默认65秒
)6,keep-alive:告诉服务器,别关闭连接,保持一段时间
)7,请求方式:get就是用来像服务发起请求。hppt下而已中的get就是请求
)8,post也是请求的一种,post是向后发数据,向服务器添加数据,也可以改变服务器上的数据
1,从指定服务器获取数据
2,get请求是可以缓存的
3,get请求会保存在浏览器的记录中,cookie
4,get请求的长度,是有限制的
1,post请求不能缓存
2,post请求也不会记录在浏览器的记录当中
3,请求体的长度也没有限制
状态码,响应码,由服务器来进行提供:
请求之后,服务器收到请求,会有一个回应,响应,同时会反馈一个响应码
1,1XX 100-101信息提示
2,2XX 200-206 成功,只要状态码是200,统统是成功。
3,3XX 300-305 重定向
4,4XX 400-415 客户端错误,请求失败,获取资源失败
5,5XX 500-505 服务端错误,响应失败
200:成功
301:请求的永久页面跳转
304:重定向到缓存
403:禁止访问
404:请求页面找不到
500:服务器内部错误(多半是配错了)
502:网关失效
503:服务不可用
504:网关请求超时
socket:实现同主机进行通讯和数据交换
进程间传输的标志:ip:端口
1,客户机套接字定义了唯一的客户进程
2,服务端套接字,定义了一个唯一的服务器进程
socket():创建端口
bind():绑定ip和端口
listen():监听,等待连接
accept():接受请求
cinnect():请求连接建立
write():发送
read():接收
ESTABLISHED:连接已建立,正在传输数据
close():关闭连接
nc工具的模拟实验