网站是由一个一个网页构成的,要想理解网站是什么,首先要理解网页是什么。
1. 什么是网页?
网页其实就是放在服务器上的一个文件,当我们浏览网页时,这个文件会被下载到我们本地的电脑,然后再由浏览器解析,渲染出各种漂亮的界面,比如表格、图片、标题、列表等。
网页文件的后缀有很多种,比如.html、.php、.jsp、.asp等,相信读者在浏览器的地址栏里也都见到过,如下图所示:
但不管网页的后缀是什么,它的本质都是一样的,就是由 HTML 代码构成的纯文本文件。
我们可以使用记事本、Notepad++、Sublime Text、Vim 等文本编辑器打开网页文件,看到它的所有内容,就像下面这样:
<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>这是网页标题</title>
</head>
<body><h1>这是一级标题</h1><h2>这是二级标题</h2><p>这是一段文本</p><a href="https://www.csdn.net">这个一个超链接</a><ul><li>条目1</li><li>条目2</li><li>条目3</li></ul>
</body>
</html>
这就是 HTML 代码!我们可以看到很多由<>包围的特殊标记,这叫做 HTML 标签(Tag),浏览器通过识别这些 HTML 标签来渲染出各种界面和效果。
将上面的代码保存到 index.html,拖到浏览器中运行,可以看到如下的效果:
这是一个非常简陋的网页,仅作为例子来演示,真实网页的 HTML 代码远比这复杂,你可以在网页上单击鼠标右键,然后在弹出菜单中选择“查看网页源代码”,就可以查看当前网页的 HTML 代码。
2. 什么是网站?
一个网站由很多网页组成,可以将多个网页放在一个文件夹中,这个文件夹还可以嵌套其它子文件夹,最终形成一个树状结构,如下图所示:
如果我们给顶级目录 program 绑定一个域名 www.domain.com,那么用户就可以通过
- www.domain.com 来访问 program 文件夹中的所有文件(包括子文件夹),例如:
- www.domain.com/demo.html
- www.domain.com/python/
- www.domain.com/java/spring.html
- www.domain.com/java/maven/profile.html
可以认为,网站就是一个绑定了域名的文件夹,该文件夹中可以包含子文件夹以及各种各样的文件,这些文件都可以通过域名来访问。当我们在地址栏中输入一个 URL 时,它其实已经展示了服务器上的目录结构,例如 https://blog.csdn.net/nav/lang,就表示访问 nav 目录下的 lang 文件。
当然,你也可以不绑定域名,只要在服务器上设置某个文件夹提供 Web 服务,用户也可以通过 IP 地址来访问。
互联网上的所有服务器都是通过 IP 地址来定位的,域名只是 IP 地址的一种助记符,帮助用户记住网站的链接以及品牌。使用域名访问网站时,浏览器会先找到域名对应的 IP 地址,然后再通过 IP 地址请求服务器上的文件;这个过程叫做域名解析,是通过 DNS 服务器来完成的。
网站的作用是把计算机上的数据(文章、博客、图片、视频等)分享出去,让别人也能获取到有用的信息;同时,别人也能发布自己的数据(发布文章、留言、上传视频等),让网站的内容更加丰富。网站和用户之间是一个相互促进的关系,网站用户越多,积累的数据也就越多,然后就会吸引更多用户继续分享数据,这是一个良性循环,是一个健康的生态。
网站是互联网的基石,它让用户获取信息,也让用户分享信息,所以现在的互联网才能丰富多彩。
1) 网站服务器(Server)
我们都知道网站放在服务器上,服务器其实就是一台计算机,它和我们平时使用的笔记本、台式机并没有什么区别,都由主板、CPU、内存、风扇等部件构成。不过,服务器一般是不带显示器、键盘、音响等外设的(当然它也支持这些外设),因为服务器的唯一用途就是运行网站,没有其它作用,所以用家庭台式机的主机箱来类比服务器更加恰当。
服务器一般放在专业的机房中,这些机房温度恒定、网络畅通、有备用电源、有容灾备份,能够保证服务器 7×24 小时不间断运行。
另外,为了让服务器能够放入机柜中,避免占用太多空间,服务器一般看起来很薄,是扁平的,这就是人们常说的“刀片”。
3. 总结
网站可以认为是放在服务器上的一个文件夹,它包含了很多网页文件以及很多子文件夹。用户访问网站就是读取文件的内容,用户分享数据就是修改文件的内容,或者删除现有的文件,或者创建一个新的文件。
查看全文
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/1949369.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
网站到底是什么?
网站是由一个一个网页构成的,要想理解网站是什么,首先要理解网页是什么。
1. 什么是网页?
网页其实就是放在服务器上的一个文件,当我们浏览网页时,这个文件会被下载到我们本地的电脑,然后再由浏览器解析&……
Pytorch深度学习实战3-5:详解计算图与自动微分机附实例)
目录1 计算图原理2 基于计算图的传播3 神经网络计算图4 自动微分机5 Pytorch中的自动微分5.1 梯度缓存5.2 参数冻结1 计算图原理
计算图Computational Graph)是机器学习领域中推导神经网络和其他模型算法,以及软件编程实现的有效工具。
计算图的核心是将模型表示……
WIN10搭建深度学习环境(Pytorch1.0.0+Python3.7+Anaconda5.3.1+CUDA10.0+Pycharm)
Pytorch1.0.0Python3.7Anaconda5.3.1CUDA10.0Pycharm背景介绍Python3.7Anaconda5.3.1CUDA10.0Pytorch-GPU版本安装Pycharm安装测试步骤参考文献背景介绍
在学习DeepLearning的时候,很多新人遇到的第一个难题是搭建一个可用的深度学习环境。本文目的是为新人提供一个……
PyTorch中调用用GPU的方法
设定GPU的模块 device torch.device"cuda:0" if torch.cuda.is_available) else "cpu") 注意:仔细查看你的设备GPU的编号,我的设备禁用了集成显卡,仅留一个显卡使用。
将数据发送至GPU上
这部分很简单,将……
解决WIN10命令行中输入Python启动Microsoft Store的问题
背景介绍
在命令控制行中输入python想使用Python环境,却意外打开了微软自带的应用商店,十分苦恼。
原因分析
由于多次安装过python环境,使得环境变量产生了问题,命令行无法找到合适的python启动路径,导致排位靠后的……
解决No module named ‘torchvision.models.utils‘问题
背景
在使用老版本pytorch调试他人网络模型时会遇到此问题。
解决方案
pip install torchvision0.4参考文献
参考链接 https://blog.csdn.net/LemonShy2019/article/details/115352074…
轻量级卷积神经网络——MobileNet_v1——学习笔记
MobileNet_v1网络详解及Pytorch实现研究背景论文地址depthwise separable convolution核心模块介绍代码结构——PyTorch参考文献研究背景
作为新人,由于硬件限制,在进行目标检测任务时常因为网络参数过多使得训练时间过长或无法收敛。经大佬提醒可以学习……
Cross Entropy Loss 交叉熵损失函数学习
Cross Entropy Loss 交叉熵损失 文章目录Cross Entropy Loss 交叉熵损失多分类问题特点公式实例应用二分类问题特点公式参考文献多分类问题
特点
使用softmax作为输出,且所有输出的概率为1。
公式 H−∑ioi∗logoi)H – \sum\nolimits_i {o_i^*} \log {o_i})……
Fast R-CNN 网络学习记录
系列文章目录
原论文名称: Fast R-CNN 原文链接:Fast R-CNN 文章目录系列文章目录前言R-CNN 算法流程FAST R-CNN算法流程特点一、一次性计算整张图特征特点二、训练数据的采样(正样本、负样本)ROI Pooling层分类器损失计算——LO……
Windows10下Anaconda安装VScode失败问题解决办法
Windows10下Anaconda安装VScode失败问题解决办法一、问题描述?二、解决方案1.找到anaconda文件夹下的pkgs文件夹,找到vscode_inst.py文件2.将文件中第110行:将其修改为:三、参考文献:一、问题描述?
在Wind……
【面试题 高逼格利用 类实现加法】编写代码, 实现多线程数组求和.
编写代码, 实现多线程数组求和.关键1. 数组的初始化关键2. 奇偶的相加import java.util.Random;public class Thread_2533 {public static void mainString[] args) throws InterruptedException {// 记录开始时间long start System.currentTimeMillis);// 1. 给定一个很长的……
一个python训练
美国:28:麻省理工学院,斯坦福大学,哈佛大学,加州理工学院,芝加哥大学,普林斯顿大学,宾夕法尼亚大学,耶鲁大学,康奈尔大学,哥伦比亚大学,密歇根大学安娜堡分校,约翰霍普金斯大学,西北大学,加州大学伯克利分校,纽约大学,加州大学洛杉矶分校,杜克大学,卡内基梅隆大学,加州大学圣地……
Mybatis03学习笔记
目录 使用注解开发
设置事务自动提交
mybatis运行原理
注解CRUD
lombok使用(偷懒神器,大神都不建议使用)
复杂查询环境(多对一)
复杂查询环境(一对多)
动态sql环境搭建
动态sql常用标签……
编程日记2023/4/16 14:55:50
设置或取得c# NumericUpDown 编辑框值的方法,注意:不是Value值)
本人在C#开发中使用到了NumericUpDown控件,但是发现该控件不能直接控制显示值,经研究得到下面的解决办法
NumericUpDown由于是由多个控件组合而来的控件,其中包含一个类似TextBox的控件,若想取得或改变其中的值要使用如下方法
N……
编程日记2023/4/16 14:55:46
使用NPOI 技术 的SetColumnWidth 精确控制列宽不能成功的解决办法(C#)
在使用NPOI技术开发自动操作EXCEL软件时遇到不能精确设置列宽的问题。
如
ISheet sheet1 hssfworkbook.CreateSheet"Sheet1");
sheet1.SetColumnWidth0, 50 * 256); // 在EXCEL文档中实际列宽为49.29
sheet1.SetColumnWidth1, 100 * 256); // 在EXCEL文……
编程日记2023/4/16 14:55:46
Mysql 数据库zip版安装时basedir datadir 路径设置问题,避免转义符的影响
本人在开发Mysql数据库自动安装程序时遇到个很奇怪的问题,其中my.ini的basedir 的路径设置是下面这样的:
basedir d:\测试\test\mysql
但是在使用mysqld安装mysql服务时老是启动不了,报1067错误,后来查看window事件发现一个独特……
java stream sorted排序 考虑null值
项目里使用到排序, java里没有像C# 里的linq,只有stream,查找stream.sorted源码看到有个
Comparator.nullsLast
然后看了一下实现,果然是能够处理null值的排序,如:minPriceList.stream).sortedComparator.comparingl -> l.g……
spring @EnableConfigurationProperties 实现原理
查看DataSourceAutoConfiguration源码,发现如下代码: Configuration ConditionalOnClass{ DataSource.class, EmbeddedDatabaseType.class }) EnableConfigurationPropertiesDataSourceProperties.class) Import{ DataSourcePoolMetadataProvidersCon……
postman请求https网址没有响应,但是用浏览器有响应,解决办法
遇到个问题:同一个get请求的url,postman请求https网址没有响应,但是用浏览器有响应
url是https开头的,查看错误描述里有一个SSL的选项: 然后根据描述关掉这个选项: 然后就没问题了,能正常请求及……
java @Inherited注解的作用
看到很多注解都被Inherited进行了修饰,但是这个Inherited有什么作用呢?
查看Inherited代码描述:
Indicates that an annotation type is automatically inherited. If an Inherited meta-annotation is present on an annotation type decl……
编程日记2023/4/16 14:55:43