那么, 网站是如何运作的呢？
现在我有一个完整的web开发课程, 因为这是一个python课程, 所以我们不打算深入到这个主题｡
相反, 我们将重点关注Python方面｡
但我确实想帮助你们理解我们正在构建的东西以及一切是如何运作的, 因为希望在本课程结束时,
你们能够真正地改变你们的作品集, 根据自己的喜好更新你们的作品集,
展示我们在整个课程中构建的项目｡
所以我在这里为你准备了一个网站｡
我们有xkcd, 这只是一个小搞笑漫画网站｡
如果我单击此处刷新或输入此URL, 我将转到此网站｡
但这实际上是如何工作的呢？
如何是我的浏览器在这种情况下谷歌浏览器, 能够为我显示这个网页？
我需要连接到互联网, 对吗？
所以有一些数据被传输给我, 让我能够看到这个｡
让我们来了解一下它是如何工作的｡
看看这个｡
我为你画了一个很好的小图表｡
在这张图中, 我将尝试告诉你们它是如何工作的｡
这很简单｡
这里有我们的浏览器, 可以是Google Chrome, 也可以是Safari, 也可以是Firefox, 都无所谓｡
在这个浏览器中, 我们可以输入一个网站, 或者在谷歌上搜索一个网站, 然后点击一个网站｡
当我们点击一个网站时, 发生的事情是通过互联网, 浏览器向另一台机器发出一路请求｡
而这台机器, 我们称之为服务器, 位于世界的任何地方｡
这其实并不重要, 因为通过我们的互联网, 浏览器会说, 嘿, 这个网站,
谁拥有这个网站？
或者哪台计算机可以为我提供该网站的文件？
使用一些复杂的逻辑, 它将找到这台服务器, 最终它只是一台计算机,
我们将向您展示并部署我们自己的服务器｡
它只是简单地说, 嘿, 给予我一些数据, 因为没有数据, 我就不能在网页上显示任何东西｡
和服务器｡
首先, 它们通过HTTP和https进行通信, 因为浏览器和服务器是两台不同的机器｡
好吧, 我知道了
浏览器现在就在我的笔记本电脑上｡
而这台机器是服务器｡
它可以在世界的任何地方｡
他们需要某种方式沟通｡
我们需要一个规则来告诉大家, 我们不希望所有这些机器在没有规则的情况下互相交谈｡
例如, 我们可以同意, 当我们在你和我之间交流时, 我将以同样的方式英语说话｡
HTTP和https, 这是一个安全的加密版本的通信, 允许我说, 嘿, 你能给予我的数据和服务器,
以了解？
哦, 我的天
此网站或此浏览器需要我拥有的数据｡
如果我回到这个网站｡
您可以看到, 我使用的是HTTPS, 它表示我希望使用HTTPS协议｡
这是沟通的语言｡
我想去这个网站｡
我一按回车键, 它就会向某个服务器发出请求, 然后服务器就会用这些数据做出响应｡
让我们继续我们的图表｡
所以刚刚提出了请求｡
这台服务器正好有我们需要的三个文件｡
一个是HTML文件, 这个文件是网站的文本或内容｡
另一个是CSS文件, 它包含了网站的所有样式｡
这就是颜色, 也许是一些字体, 也许是元素的位置, 任何与风格有关的东西｡
所以它看起来不像是一段无聊的文字｡
然后我们有一个JavaScript｡
JavaScript是赋予网站行为的东西｡
当我登录Facebook或在Twitter上发推时,
JavaScript允许我执行这些操作, 因为只有HTML和CSS, 我们只有文本和一些漂亮的样式｡
有了JavaScript, 我们可以采取行动, 但我们不需要太关注这一点｡
我们只需要知道服务器, 因为它是一台文件计算机, 有这三个文件给我们｡
这三个文件, 发生了什么, 被发送到浏览器, 因为浏览器真的, 真的很友好, 问, 嘿,
你能给予我数据吗？
然后服务器说, 当然, 在这里, 给我们发送了这三个文件和这三个文件｡
当它们被发送回来时, 浏览器理解它们｡
因为它能理解它们, 即使对我们来说它看起来像是胡言乱语, 它也能为我们显示那个网站｡
但让我问你一个问题｡
到目前为止, 我还没有真正谈论过Python｡
我以为这是Python课程｡
安德烈, 你在哪里告诉我这些我不关心的事情？
因为在这里, 有一段代码可以用Python来写.
你能猜到那是什么吗？
如果你猜对了服务器｡
恭喜你啊
你得到5000点积分｡
你看, 浏览器是一个我们在电脑上下载的应用程序｡
好吧, 我知道了
但直到现在, 服务器还是一个神秘的盒子, 一台机器, 一台电脑｡
但是Python程序员实际上可以编写服务器可以执行的逻辑和规则｡
所以所有这些交流, 嘿, 你能给予我数据吗, 可以用Python来解释,
然后用Python把这些数据发送到浏览器｡
在接下来的几个视频中, 我们将构建自己的服务器, 同时也会涉及到这些HTML､
CSS和JavaScript文件, 这样我们就可以实际显示类似于网站的内容｡
现在我想用一个问题来结束这段视频｡
你认为这个服务器必须用Python写吗？
你觉得呢？
不, 不是这样的｡
对不对？
浏览器不关心这台机器是什么样子的｡
它只关心这三个文件｡
因为我们是在用http, https协议说话｡
浏览器会说, 嘿, 我不在乎你说什么语言, 我什么都不在乎｡
我将通过这个https告诉你, 只要给予我我想要的数据, 我们就可以在这里做任何我们想要的逻辑｡
如果我想的话, 我可以从这里发电子邮件｡
我可以发短信, 我可以做数学运算｡
如果我想的话, 我可以在这台电脑上玩游戏｡
只要我能够将这些文件发送回浏览器, 这其实并不重要｡
所以我们可以用Python来实现｡
但是我们可以用其他语言来做, 比如Node, 比如PHP, 比如Java, 所以我们可以用任何类型的语言来编写服务器｡
我们唯一能做的是在浏览器端｡
在浏览器端, 我们必须使用这三个文件, 因为至少一般来说,
它只能理解JavaScript, 这是另一种编程语言｡
好的, 让我们在下一个视频中更深入地探讨这个主题｡