网络是基于tcp/ip协议进行通信和连接的
应用层--传输层--网络层--数据链路层--物理层
IP地址,我们每一台主机都有一个唯一的地址标识(固定的IP地址)区分用户和计算机通信
IP地址:32位二进制数组成的,不方便记忆 192.168.233.61
域名: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.响应解析请求
解析端:(客户端)
根域——顶级域——二级域——子域——主机名
html:超文本标记语言,是一种规范的,标准的语言格式。网页文件本身就是一个文本文件,html通过标记的方式,告诉浏览器如何显示文本当中的内容。html文件是以个文本文件,所有能够生成txt文件的工具,都可以进行编辑,修改的之后的文件后缀名: .html或.htm
网页:纯文本格式的文件,用html语言来进行编写的,用浏览器翻译成页面的形式显示出来
网站:是由多个页面组成的,网页的结合体 主页:打开网站之后出现的第一个页面就是网站的首页
域名:浏览网页时输入的网址
http/https
用来传输页面的通信协议,https就是加密的,是一种通信协议基于tcp协议,端口号,http默认是80,https默认是443
URL:万维网寻址系统,唯一标识
https://www.baidu.com 完整的格式,就是url
uri
https://www.bilibili.com /v/dance/?spm id from=333.1007.0.0
从/v/开始就是uri
超链接:超链接将网站的不同页面连接起来
发布 将制作好的网页上传到服务器,供用户访问
html的语法:
<html>
<head>网页的内容描述</head>
<body>网页的内容</body>
<html>
头标签中常用的标签
<title>文档标题
<base>
<script>客户端的脚本文件
<style>html文档的样式
内容当中常用的标签
<table>定义表格
<tr>定义表格中的一行
<td>定义表格当中某一行的一列
<img>定义图片
<a>超链接
<font>定义字体
web2.0 用户交互
静态页面和动态页面:静态页面就是标准的html文件
扩展名都是 .htm .html
里面可以包含图片,文本,声音,动画。是网站建设的基础,早期的网站都是静态页面,没有后台数据,不包含可交互的内容,更新比较麻烦,一般用于展示型网站。
静态页面的特点:
1.静态页面的URL是固定的,一般不包含?
2.页面一经发布,都是保存在网站的服务器上的
3.静态页面相对稳定,内容很少发生变化,容易被搜索引擎检索
4.没有数据库支持,制作和维护的工作量比较大,网站的信息量如果太大,单纯使用静态页面比较困难
5.没有交互性,只能看,功能上受限很大
6.浏览速度很快,因为不需要连接后端数据库
动态页面:
1.网页url是不固定的,用户可以和后台数据进行交互
2.动态页面的网址中一般会包含一个特殊标记....?
3.动态页面的语言:PHP | SP PYTHON RUBY TOMCAT
动态页面的特点:
1.交互性
2.自动更新
3.特效,个人进入页面的时候,会有不同的效果
静态页面就是看 动态页面是交互
http协议:
httpd服务,apache服务名,httpd程序名
http协议,超文本传输协议。互联网上应用最广泛的网络协议之一。
基于tcp协议的应用层的传输协议。面向用户
客户端和服务端之间进行数据传输的一种规则
工作流程:
1.客户端和服务端进行tcp连接
三次握手---------建立连接
2.客户端发送http请求,服务端接受到http请求之后,响应客户端请求
3.socket接口,通过端口进行通信
4.响应达到客户端,解析的过程(浏览器),用户查看,使用,访问
5.访问,使用,查看,结束之后,断开连接,四次挥手
http是一种无状态的协议,本身不会对发送过的请求和响应的通信进行持久化处理,连接保持。
为了让http能够快速的大量的进行处理事务,提高效率连接保持是需要的
cookie:记录用户的登录状态,跟踪统计用具访问网站的习惯
识别用户身份,保存用户信息
这个是服务器留在用户计算机上的小文件
HTTP协议:http协议本身自带的连接保持功能
http1.1 自带链接保持功能,长连接
长连接:一次性获取页面文件的所有信息,不再需要分开处理请求,所以速度大大加快;并行
连接保持:keep-alive,在一个tcp连接上,可以传送多个http的请求和响应,减少了建立和关闭连接的消耗和延迟
连接保持是有时间的,不是无限的,默认开启的,60秒
连接资源占用:长时间保持,会降低服务器的负载,,如果是高并发,会使服务器耗尽资源
连接状态管理:连接需要维护连接状态,服务器需要跟踪每个连接的状态,增加服务器的负担。(集群的诞生)
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请求的长度,是有限制的
获取数据get post主要是发
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()接收
ESTABLISHEN 连接已经建立,正在传输数据
close()关闭连接