目录
一、域名
1、简介
域名可以理解为一个网络区域的名字,每个域名背后都对应一个IP地址。我们搜索域名时,访问的其实是与域名对应的IP地址。域名的作用就是把一串长IP地址变成更容易记的域名。
2、空间结构
如上图,域名的结构实际上是一个倒过来的树。
最上面是根,没有名字,根下面一级的节点就是最高一级的顶级域名
顶级域名可往下划分子域,每个子域就是一个二级域名
再往下划分就是三级域名,四级域名
域名树的树叶就是单台计算机的名字,不能再继续划分子域
根域名服务器:最高层次的域名服务器,该服务器保存了全球顶级域名服务器的IP地址和域名,全球共100多个
顶级域名服务器:管理本级域名上注册的所有二级域名,如163.com
权限域名服务器:DNS采用分区的方法设置域名服务器,一个服务器管辖的范围称为区,区的范围小于等于域的大小,比如abc.com,123.abc.com就可以对应着两个不同区大小的权限域名服务器
本地域名服务器:主机发出的DNS报文最初到达的服务器
二、DNS域名系统
1、域名注册流程
①注册申请资料
②寻找域名
③注册网站
④查询域名
⑤正式申请
⑥申请成功
2、DNS解析
DNS配置方式流程
①host文件②网卡配置文件③/etc/resolv.conf
/etc/host:
Linux系统中负责快速解析的文件,包含了IP与主机名的映射,在没有DNS服务器的情况下,使用/etc/host文件进行映射可以实现快速访问
网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33:
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/resolv.conf
DNS客户端配置文件,主要用于设置DNS服务器的IP和域名,还包含了主机域名的搜索顺序等等,这个文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。
三、web
WEB是www(World Wide Web)的简写,译为“环球网”或“万维网”,也可以简单理解为我们常见的网站、网页。是为用户提供的一种在互联网上浏览信息的服务,Web服务是动态的、可交互的、跨平台的和图形化的。使用链接的方法能非常方便地从因特网上的一个站点访问另一个站点(超链技术),具有提 供分布式服务的特点。万维网是一个分布式的超媒体系统,是超文本系统的扩充,基于B/S架构实现.。
1、URL
URL是对互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。URL它具有全球唯一性,正确的URL应该是可以通过浏览器打开此网页的
2、http
HTTP 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0
3、html
HTML,全称“Hyper Text Markup Language(超文本标记语言)”,是一种在 Web 上使用的通用标记语言。简单来说,网页就是用HTML语言制作的。HTML 允许你格式化文本,添加图片,创建链接、输入表单、框架和表格等等,并可将之存为文本文件,浏览器即可读取和显示。
4、web1.0和web2.0
web1.0:
以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容。Web 1.0只解决了人对信息搜索、聚合的需求,而没有解决人与人之间沟通、互动和参与的需求。简而言之,就是网站到用户的单向行为。没有互动
web2.0:
更注重用户的交互作用,用户既是浏览者,也是内容的制造者,在模式上有单纯的“读”向“写”以及共同建设发展。逐渐发展为双向交流
区别:
Web1.0 的主要特点在于用户通过浏览器获取信息。Web2.0 中用户既是网站内容的浏览者,也是网站内容的制造者。Web2.0 是相对Web1.0 的新的一类互联网应用的统称。web2是大家共同创作,共同分享知识,重在在普通用户也是网站建设的一个成员。
5、静态页面与动态页面
静态页面:
静态页面随着HTML代码的生成,在不修改代码的前提下,页面的内容和显示效果就基本不会发生变化
通常使用 HTML、CSS 和 JavaScript 来创建静态页面,这些文件都存储在服务器上。当用户请求浏览这个页面时,服务器会将该页面发送给用户的浏览器进行渲染。
由于静态页面没有与数据库或其他服务器端程序进行交互,因此它们通常是加载速度非常快、高效和安全的。 静态页面可以用于展示类似博客、新闻网站等需要频繁更新内容的网站,但是由于需要手动修改 HTML 代码,因此其维护成本较高。
动态页面:
动态页面是指通过程序代码实现的,可以根据用户行为和输入动态地改变页面内容的网页。它与传统的静态页面相比,能够更加灵活地处理用户的请求和响应,提供更加丰富、交互性更强的用户体验。
动态页面通常使用服务器端技术(如PHP、python、ruby等)或客户端脚本语言(JavaScript),通过对用户的请求进行处理来生成页面内容。这种技术可以使页面上的内容随着用户的操作而动态刷新或改变,提高用户与网站的互动性,提升用户使用体验。
在动态页面中,通常会使用数据库存储和管理数据,让页面可以从数据库中读取数据并呈现给用户。而且,动态页面还可以实现一些复杂的功能,如在线购物、社交网络、在线游戏等。
在动态网页网址中有一个标志性的符号——“?”
四、http协议
1、简介
HTTP协议,即Hyper Text Transfer Protocol,超文本传输协议的简称,是目前互联网上所广泛使用的一种网络协议,当前所有的WWW服务器都是使用该协议。
HTTP协议为应用层协议,建立在TCP协议之上。HTTP协议是一种典型的C/S架构的协议,其中WWW服务器为HTTP的服务端,用户所使用的浏览器为客户端。用户在访问网页时,会随机使用一个端口,访问服务端的指定端口(默认是80),经过TCP三次握手后,建立HTTP链接。
HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。
2、cookie和session
因为HTTP 是无状态的协议,所以每个HTTP请求都是完全独立的,服务端无法确认当前访问者的身份信息,无法分辨上一次的请求发送者和这一次的发送者是不是同一个人。
所以服务器与浏览器为了进行会话跟踪(知道是谁在访问我),就必须主动的去维护一个状态,这个状态用于 告知服务端前后两个请求是否来自同一浏览器 。而这个状态需要通过 cookie 或者 session 去实现。
cookie和session都为了实现的是http的短期的持久化。
Session 是存储在服务器端的,更安全。Cookie 是存储在客户端的,更省服务器性能。
3、http请求格式
1、get方法
当客户端要从服务器中读取某个资源时,使用GET 方法。
GET 方法要求服务器将URL 定位的资源放在响应报文的数据部分,回送给客户端,即向服务器请求某个资源。
使用GET 方法时,请求参数和对应的值附加在 URL 后面,利用一个问号(“?”)代表URL 的结尾与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。
2、post方法
当客户端给服务器提供信息较多时可以使用POST 方法,POST 方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。GET 一般用于获取/查询资源信息,POST 会附带用户数据,一般用于更新资源信息。POST 方法将请求参数封装在HTTP 请求数据中,以名称/值的形式出现,可以传输大量数据
3、请求头部
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:
● User-Agent:产生请求的浏览器类型;
● Accept:客户端可识别的响应内容类型列表;星号 “ * ” 用于按范围将类型分组,用 “ / ” 指示 可接受全部类型,用“ type/* ”指示可接受 type 类型的所有子类型;
● Accept-Language:客户端可接受的自然语言;
● Accept-Encoding:客户端可接受的编码压缩格式;
● Accept-Charset:可接受的应答的字符集;
● Host:请求的主机名,允许多个域名同处一个IP 地址,即虚拟主机;
● connection:连接方式(close 或 keepalive);
● Cookie:存储于客户端扩展字段,向同一域名的服务端发送属于该域的cookie;
空行:最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器以下不再有请求头;
4、http状态码
HTTP状态码表示服务器返回给客户端的状态信息,常见的状态码有以下几种:
状态码首位 | 已定义范围 | 分类 |
1xx | 100-101 | 信息提示 |
2xx | 200-206 | 成功 |
3xx | 300-305 | 重定向 |
4xx | 400-415 | 客户端错误 |
5xx | 500-505 | 服务器错误 |
消息 | 描述 | |
200 | OK | 请求成功(其后是对GET和POST请求的应答文档) |
301 | Moved Permanently | 请求的永久页面跳转 |
403 | Forbidden | 禁止访问该页面 |
404 | Not Found | 服务器无法找到被请求的页面 |
500 | Internal Server Error | 内部服务器错误 |
502 | Bad Gateway | 无效网关 |
503 | Service Unavailable | 当前服务不可用 |
504 | Gateway Timeout | 网关请求超时 |
5、HTTP协议请求流程分析
用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先找自身的缓存,如果有解析结束,如果没有客户端会去找host文件,如果host文件没有的话,客户端会去找本地的DNS缓存服务器,本地的DNS缓存服务器没有的话,缓存服务器会去找根域,根域没有,会返回一个.com.然后本地缓存服务器会去找顶级域,顶级域没有的话会返回baidu.com.,然后本地缓存服务器会去找二级域,二级域解析完后会返回客户端。
客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接
五、总结
作为运维人员,我们在工作当中必须要知道的就是如何申请域名,web的概念,web1.0和web2,0的特点,以及http状态码和HTTP协议请求流程分析。这些是保障网站流畅运行会用到的技术,要求我们必须掌握。