网络是基于tcp/ip协议进行通信和连接的
tcp/ip协议是五层协议:应用层–传输层—网络层----数据链路层----物理层每一台主机都有一个唯一的地址标识(固定的ip地址,用于区分用户和计算机。
ip地址:由32位二进制组成的,不方便记忆。随后就有了域名。又因为网络通信是靠IP地址进行通信的,域名不能直接通信,因此有了dns解析。
dns解析的主要作用:就是将域名解析成ip地址,方便进行通信。
1、 /etc/hosts:负责快速解析的文件,包含了ip与主机名之间的映射关系。如果没有dns服务器的情况下,可以使用/etc/hosts文件来完成解析和映射。
[root@www conf]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
2、/etc/resolv.conf:dns客户端的配置文件,设置dns服务器的ip和域名。还包括了主机域名的搜索顺序。主要是域名解析服务器使用的配置文件。
[root@www conf]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
3、修改网卡配置文件---->etc/sysconfig/network-scripts/ifcfg-ens33
注:现在的dns域名解析服务器,都由运营商来做。
1.保持和维护域名空间。
2.响应解析请求。(解析端也就是客户端)
dns域名分层:根域 ——> 顶级域 ——> 二级域 ——> 子域 ——> 主机
1、准备申请材料
2、查找域名注册网站
3、注册申请
4、正式使用
html:超文本标记语言,是一种规范的,标准的语言格式。网页文件本身就是一个文本文件,html就是通过标记的方式,告诉浏览器如何显示文本当中的内容。html文件是一个文本文件,所有可以生成txt的文件工具,都可以进行编辑,修改之后的文件后缀名为:.html或.htm
网页:纯文本格式的文件,用html语言来进行编写的。再用浏览器翻译成页面的形式显示出来,
网站:是由多个页面组成的,也就是多个网页组成的结合体。
主页:打开网站后出现的第一个页面就是网站的主页。
域名:浏览网页时输入的网址。
协议:http/https (用来传输页面的通信协议),https就是加密的,http/https都是通信协议,基于tcp协议,端口号http默认是80,https默认是:443
URL:万维网寻址系统,唯一标识。即:https://www.xxx.com
uri:
超链接:超链接将网站中的不同页面连接起来。
发布:将制作好的页面上传到服务器,供用户访问。
Web:全球广域网,也成为万维网,是一种分布式图形信息系统。建立在internet上的一种网络服务。
Web1.0 和 Web2.0
Web1.0是单向的,以编辑为特征,网站提供给用户的内容是编辑处理后,然会用户阅读网站提供的内容。
目前web2.0是主流,更注重交互作用。加强了网站与用户的互动。所以产生了静态页面和动态页面。
静态页面就是标准的html文件。
扩展名一般都是.html或.htm
里面可以包含图片,文本,声音 动画。是网站建设的基础,早期的网站都是静态页面,没有后台数据,不包含可交互的内容。相对来说更新起来比较麻烦,一般用于展示型网站。
静态页面(web1.0)的特点:
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:记录用户的登录状态,跟踪统计用户访问网站的习惯,识别用户身份,保存用户信息。这个是服务器留在用户计算机上的小文件。从http1.1 开始自带http协议的连接保持功能,也叫长连接。
长连接作用:
作用一:一次性获取页面文件的所有信息,不在需要分开处理请求,所以速度大大加快,也就是并行处理。
作用二:保持连接:keep-alive,在tcp连接上,可以传送多个http的请求和响应。减少了建立和关闭连接的消耗和延迟。连接保持是有时间限制的,不是无限的,默认是开启的,默认60s
连接资源占用:长时间保持占用,会降低服务器的负载,如果是高并发,会使服务器耗尽资源。
连接状态管理:长连接需要维护连接状态,增加服务器的负担。(随后就有了集群的诞生)
https:加密通信协议,加密数据传输。加密过程涉及客户端和服务器之间进行密钥交换,确保只有合法的接收方,才可以解密数据(即证书)
证书:https使用数字证书验证身份
https应用:电子商务,银行网站
加密解密会对访问速度有一定影响。
1.请求头:
请求头当中包含请求体。
请求体当中的内容:
Accept:客户端可以接收的数据类型
Accept-Encoding:客户端可以接收的编码格式
Accept-Language:客户端可以支持的语言类型
Cache-Control:缓存使劲按,图片或者音频文件的缓存时间(缓存指的是保留在本地的时间,即下次再访问图片,不需要再向服务端发起请求,从而提高访问速度)
Connection:告诉服务器处理请求连接。默认都是keep-alive,保持连接,默认65s
keep-alive:告诉服务器,保持一段时间,不要直接关闭连接
get:向服务器发起请求,http协议中的get,就是请求
post:也是请求的一种,post是向后台发数据。服务器会添加数据,也可以改变服务器上的数据。
1.从指定服务器获取数据
2.get请求是可以被缓存
3.get请求会保存在浏览器的记录中,cookie
4.get请求的长度,是有限制的。
请求的一种,提交数据给服务器处理。
1.post请求不能缓存
2.post请求也不会记录在浏览器的记录当中
3.请求体的长度也没有限制
请求之后,服务器收到请求,会有一个回应,响应,同时会反馈一个响应码。
请求状态的响应码:
1xx、2xx、3xx、4xx、5xx
100-101 | 信息提示 |
200-206 | 成功,只要状态码是200,统统是请求响应成功。 |
300-305 | 重定向 |
400-415 | 客户端错误 (指的是请求失败,获取资源失败) |
500-505 | 服务端错误(响应失败) |
总结:
2xx 3xx 一般都是正确的;
4xx:客户端错误 ,5xx:服务端错误。
常见的状态码:
200 | 成功 ok |
301 | 请求的永久页面跳转 |
304 | 重定向到缓存(访问的是缓存) |
403 | 禁止访问 (权限不够) |
404 | 请求页面找不到 (页面不存在) |
500 | 服务器内部错误 |
502 | 网关失效 |
503 | 服务不可用 |
504 | 网关请求超时 |
在http协议当中ocket的作用是:
1.客户端套接字:定义了唯一的客户进程。
2.服务端套接字:定义了一个唯一的服务器进程。
套接字调用的
socket():创建端口
bind():绑定ip和端口
listen():监听,等待连接
accept():接收请求
connect():请求连接建立
wirte():发送
read():接收
ESTABLISHED:连接已经建立,正在传输数据
close()关闭连接