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