网络基础(三)02-网络的基础概念——DNS服务器之hosts文件配置 & 网站访问流程之三次握手 & BS架构-浏览器访问、CS架构-安装软件客户端 & 静态网站和动态网站-数据是否动态

网络基础(三)02-网络的基础概念——DNS服务器之hosts文件配置 & 网站访问流程之三次握手 & B/S架构-浏览器访问、C/S架构-安装软件客户端 & 静态网站和动态网站-数据是否动态

4.5 DNS

DNS: Domain Name System 域名系统。在DNS服务器中保存了域名和IP的映射关系。主要工作是将域名转换为IP地址,因为我们通过浏览器访问网站时,实际上是去找对应的IP地址。

域名IP
baidu.com202.22.35.66
sina.com45.22.45.45

通过宽带运营商提供的服务器解析一个域名背后对应的 IP,这个过程叫做 DNS 寻址,帮你完成 DNS 寻址过程的服务器叫做 DNS 服务器

通俗的将,DNS服务器能够通过你输入的域名返回该域名对应的IP。然后我们通过IP去访问网络上的资源。

4.5.1 浏览器DNS缓存

当我们在浏览器输入域名后,浏览器首先并不是向DNS服务器发起请求,解析其对应的IP的,而是先看浏览器缓存中是否有缓存,如果有,则使用缓存中保存的IP去请求网络资源的。

  • windows下查看dns缓存:

    • ipconfig /displaydns
    • ipconfig /displaydns > c:/dnscache.txt 将dns缓存导入到c:/dnscache.txt文件
  • windows下清除dns缓存

    • ipconfig /flushdns
  • 清除谷歌浏览器缓存

    • chrome://net-internals/#dns
4.5.2 hosts 文件

操作系统在发起对 DNS 服务器的查询请求之前,会优先检查本机的 hosts 文件。如果这个文件中包含了对当前需要解析的域名的配置,则不再发起对 DNS 服务器的请求,直接使用 hosts 文件中的配置。

文件所在路径:

  • Windows:C:\Windows\System32\drivers\etc\hosts
  • macOS:/etc/hosts

注意:

  • 本机的 hosts 文件配置只能到影响本机的 DNS 寻址
  • 只有以管理员权限运行的编辑器才有权利修改 hosts 文件

hosts文件路径

在这里插入图片描述

4.6 发起TCP请求

在这里插入图片描述

客户端在向服务器发请求之前,会先向服务器发送TCP请求,过程可以理解为:

  1. 客户端:hello,你在吗?
  2. 服务器:嗯,我在
  3. 客户端:好的,我知道了

此过程又称之为客户端和服务器三次握手。

4.7 访问网站时请求响应流程

请求方式

在这里插入图片描述

我们在浏览器输入一个网址后,按下回车,最后看到一个页面,这个过程是怎样的?

下图是一个完整的网站访问流程

在这里插入图片描述

下图也表示网站访问流程,但是少了三次握手。

在这里插入图片描述

  1. 用户打开浏览器
  2. 地址栏输入我们需要访问的网站网址(URL
  3. 检测浏览器DNS缓存,看是否有域名和IP的对应关系
  4. 检查本机的 hosts 文件,看是否有域名和IP的对应关系
  5. 浏览器通过 DNS 服务器 获取即将访问的网站 IP 地址
  6. 进行三次握手
  7. 浏览器发起一个对这个 IP地址的 请求
  8. 服务端监听指定的 端口 的服务器软件接收到这个请求,进行相应的处理
  9. 服务端将处理完的结果返回给客户端浏览器(响应
  10. 浏览器将服务端返回的结果呈现到界面上

4.8 C/S 与 B/S

应用软件架构一般分为两类:

  • B/S 架构:Browser(浏览器) ←→ Server(服务器),这种软件都是通过浏览器访问一个网站使用,服务器提供数据存储等服务。
    • 优点:简单方便,不用下载软件。网站升级和浏览器没关系
    • 缺点:不安全,占用带宽(流量)较少,传输速度比较慢。
  • C/S 架构:Client(客户端) ←→ Server(服务器),这种软件通过安装一个软件到电脑,然后使用,服务器提供数据存储等服务。
    • 优点:安全,占用带宽(流量)较少,传输速度比较快。
    • 缺点:需要下载软件,还要更新客户端

4.9 静态网站和动态网站

在这里插入图片描述

4.9.1 静态网站
  • Apache 实现的功能,浏览器请求对应的文件 → Apache 负责读取文件 → 将文件内容响应给客户端浏览器
  • Apache 将网页文件(纯文本)原封不动的返回给浏览器
  • 无法满足让网页内容动起来(随着数据动态变化)的需求
4.9.2 动态网站
  • 不再将 HTML 固定写死,每次用户请求时,动态执行一段代码,临时生成一个用户想要的 HTML 页面。

  • 动态网站指的也就是每次请求时服务端动态生成 HTML 返回给用户的这种网站。

  • 实现动态网站的技术有很多,例如:JSP、ASP.NET、PHP、Node.js 等等。

这里我们选择 Node.js 作为我们了解服务端动态网页开发的技术方案,注意:我们学习的重心不在 Node.js,而是了解服务端开发,以及某些其他对前端开发有帮助的东西。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值