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