DNS与域名:
网络上的通信都是基于ip;TCP/IP
Tcp建立连接和断开连接,都是要双方进行确认的
建立连接:三次握手
断开连接:四次挥手
通信是端到端
端口进行通信(进程或者服务都是有指定的端口号)
http:80
nginx:80
ssh:22
mysql:3306
IP地址:端口号
Ip地址是主机在互联网上的唯一标识
Ip是确定身份,你是谁,从哪来
端口:你要访问谁
公网IP地址已经没了,现在这个唯一标识(IP地址),nat地址转换
Ip地址是一个点分十进制组成的
192.168.120.10
192.168.120:网络位
10:主机位
dns解析:
网站都是域名,dns解析的作用是把域名解析成ip地址
迭代:从根域名到二级域
递归:返回用户的过程 先到运营商——本地hosts——用户
三种方式:
/etc/hosts 本地解析,速度最快,缺点:如果需要配置的解析地址多,工作量比较大
格式
192.168.120.10 www.kgc.com
访问域名就是在访问ip地址
第二个:
DNS服务器来进行解析
运营商:运营商提供一个DNS解析的ip地址
/etc/resolv.conf
格式:
nameserver 218.2.135.1
第三个方式:
网卡配置
Ifcfg-ens33
生效的顺序:
hosts文件的优先级最高————网卡配置————dns服务器(resolv.conf)
分布式和集群
分布式:把计算机系统或者应用程序分布在多台独立的计算机或者服务器上,通过网络通信以及协作,共同完成特定的任务或者服务
工作负载分散到多个节点上,提高性能和可靠性
分布式前端的nginx 分布式数据库,分布式分件系统
集群:多台计算机或者服务器连接在一块,形成一个单一的计算资源池。计算机通过网络互相连接,共享任务,集群都是由相同类型的计算机组成。运行的程序也是相同的。
作用:通过增加计算机节点,扩展系统,然后提高整体的处理能力和容量。
LNMP架构:
部署L linux
n:nginx提供网页访问
M:MYSQL数据库,保存用户名和密码
P:PHP,处理动态页面
html:超文本标记语言,也是我们最常见的网页格式。是一种规范,也是一种标准,也是一个文本文件
xxx.html
xxx.htm
网页:纯文本格式的文件 语言HTML。 浏览器来翻译html语言形成网页
网站:是由多个网页组成,网页的结合体。打开网站之后出现的第一个页面就是我们说的网站首页或者主页
域名:域名需要注册,访问网站时输入的网址就是我们说的域名
传输方式:http/https
http:超文本传输协议,https:加密的超文本传输协议。靠ssl证书进行认证。网页的传输通信协议
URL:万维网的寻址系统(唯一标识)
URI:wwwbaiducom/test/index.html
/test后面的都是URI,匹配网站不同分支的内容
超链接:超链接把网站当中的不同内容连接起来
web:world wide web 全球广域网 也就是万维网
一种分布式的图形信息系统
web1.0:就是一个字“看”,也就是看网页
web2.0:看网页,交互作用。用户不仅仅是看,还可以是网页内容的制造者。网站和用户可以双向交流。
静态页面和动态页面
静态页面只是:文本文件,可以修改,一般以.html .htm保存的文件文件。网站的基础。静态页面和后台数据库没有任何交互,不包含请求程序
更新起来比较复杂,一般适用于更新比较少的展示型的网站
一般都是网站的主页,静态页面的URL是固定的
动态页面:
- url不是固定的,能通过后台和用户交互
- 动态页面的URL当中一般有个?号
- 动态页面:PHP,jsp python node.js
- 动态页面可以自动更新
- 访问的时间不同,访问的内容会发生变化
http协议:
http0.9淘汰
http1.0基本淘汰
http1.1:目前最常用的https,主要服务于https,端口443
特点就是提供了加密和安全传输的端口的一种http
http2.0:新一代的加密协议,传输速度比http1.1的速度更快。
http协议:超文本传输协议,基于tcp协议的应用层传输协议。简单来说就是客户端和服务端之间进行数据传输(请求和响应网页)的一种规则。
http是应用层上的协议
建立连接:三次握手
断开连接:四次挥手
建立连接之后,客户端与服务端之间请求和接受,响应都是通过socket接口来调用tcp'协议实现。
端口到端口通信
http:本身是一种无状态协议,http协议本身不会对发送的请求和响应进行任何处理。http协议能够处理大量的事务(核心:提高效率)
http本身无状态,会带来问题:会话保持和缓存
http1.是没有会话保持这个功能,http1.1,长连接加入到了http协议当中
缓存:cookie记录用户状态,跟踪统计用户访问该网站的习惯,识别用户身份,保存客户信息。可以驻留在我们的计算机上。是一个很小的文件。保存特定的客户端和网站之间的信息数据。
时效性:30天 保存的信息就会失效
客户端的ip地址验证:安全验证
http的工作路程:
客户端—服务端的通信过程
请求—响应的模型
建立连接:tcp/ip协议与服务器建立连接(三次握手),客户端向服务器的80端口发送连接请求。
发送请求:一旦连接建立之后,客户端向服务端发送http请求。http请求:由一个请求行和多个头部字段组成。
请求方式:get post
服务端处理请求:根据请求的方式和内容进行处理。服务端会读取请求头的字段,解析参数,处理数据等等。
服务端返回响应:形成一个http响应,响应由一个响应行,包含多个字段。响应内容包含重要的内容状态码,用于表示服务端对于请求的处理结果。
传输数据:一旦服务器生成了http响应,会通过之前建立的连接将响应返回给客户端
响应当中包含了请求的资源网页内容以及其他的需要传输的数据(一般是自定义的)
关闭连接:响应发送完成,服务端就会进入连接关闭,http1.1 time wait。双方还在建立连接,双方之间不再有数据传输。一旦有新的请求,连接可以继续使用。160秒 会话保持或者长连接。
http1.1 会一次性获取页面的全部资源,然后发起四次挥手,只是不再传输数据。连接并没有断开。
客户端解析和现实响应:
客户端收到http响应之后,解析响应内容,包括页面解析,显示图片,播放视频。
主要靠的就是浏览器
客户端也可以继续发送请求,或者打开新的连接,请求其他资源
http的请求方式:
get的方式:
get向服务器发起请求的数据,依照http协议来进行,get就是请求
请求行:
请求体:
Accept:客户端可以接受的数据类型
Accept-Encoding:客户端可以接受的编码格式,以及数据是否需要压缩
Accept-Language:客户端可以接受的语言类型
Cache Controt:数据在本地缓存的时间
Connection::连接的处理方式,一般都是会话保持
Cookie:请求的ip和端口号,也可以请求的主机名
User-Agent:客户端请求使用的浏览器信息
post
post向服务端发送数据,按照http协议进行,服务器添加数据,post的请求方式会修改服务器上的数据
get'和post的区别:
get的请求可以缓存
get的请求还可以保存在浏览器的cookie中
get的请求长度有限制
get就是获取数据
post
post的请求不能被缓存,也不会保存在浏览器的cookie中
post请求没有长度限制
请求的字符串不会显示,比较安全
http的状态码:
1xx:信息提示 100-101 无实际作用
2xx:成功 请求处理结果成功 200
3xx:重定向 304表示请求的是缓存
4xx:客户端错误 403 404 请求的页面不存在或者没有权限访问
403:请求的页面禁止访问
404:服务器无法请求的页面
5xx:服务端错误
500:内部服务器错误 (如果出现500,检查防火墙,检查进程也就是服务状态,检查端口,检查配置文件,端口号被占用)
502:无效网关
503:请求的服务器不可用,可能下线了
504:网管请求超时
生产中常见的状态码
200:ok表示请求成功
301:永久重定向
302:临时重定向
304:访问的是本地缓存
403:FOrbidden 禁止客户端访问该页面
404:NOT FOUND 服务器无法找到被请求的页面
500:inetnal server error 内部服务器错误
502:BAD getway 网关失效。(服务端的网关失效)
503:server Unavailable 服务器不可用(网站维护)
504:GATEWAY timeout 网关请求超时(服务端处于维护或者路由器故障)