菜鸟学网站开发入门之——网站是什么

今天,小师妹说在家里无聊,不知道要干什么,我说学习啊!并建议她去学习html,因为对于我们学校的大一生即将进入大二的学生而言,在刚结束完C语言和数据结构,要马上进入网站开发,首先需要对网站有个最基本的认识,我说的是从专业角度的认识,你需要从本质上了解什么是网站,然后再开始了解html相对而言效果会好一点。ok,下面就请大家看下我的表演了。喜欢的或兴趣的同学还可以在评论去留言或点赞,或者直接通过邮箱(JosenChina@126.com)和我交流沟通哦!

什么是网站?网站就是运行在一台或者多台计算机上的一堆代码

很多人一开始会觉得网站着东西很神秘,看不见,摸不着,却时刻都存在我们身边,会以为网站就像笼罩在自己身边的一层迷雾一样。上大学之前我也是这样想的,直到我们接触了C语言,计算机操作系统,计算机网络神马的,后面才算渐渐地揭开了网站它神秘的面纱。下面我就给大家一一道来。

了解网站之前,我们需要了解一些其他知识以便更好的理解我后面要讲的内容。如:计算机基础、计算机网络,必要时还可以了解下计算机组成原理,这样理解起来会相对容易一些,但是如果是完全的小白,那暂时了解计算机基础和计算机网络这两个就可以了。

首先,计算机基础:

什么是计算机?电脑?是的,电脑属于计算机,但是计算机不仅仅局限于我们一直在使用的个人电脑。我个人对计算机的定义是:在最底层有进行加运算(计算机中减运算本质上和加运算一样,而乘除运算则是加减运算的复杂表现)的能力,并且能把结果反馈给外界的机器或者部件都可以称之为计算机,小到遥控器的按钮处理单元、电子手表等,大到每秒进行几十亿次运算的超级计算机、服务器等都称之为计算机。说白了,就是能够从外界获取信息或自身产生信息,然后对信息进行处理,在把处理结果反馈给外界的一种装置(不一定是电子产品,最早的计算机是有卡片可机械原件组成,那时候单晶硅和晶体管还没问世或者说由于技术原因没发展起来。而如今又出现了一种光学处理器,用光来实现最基本的加减乘除。)

啥?这些太学术了?不知道我在说啥?好,那我直白一点。所谓计算机,就是拥有计算能力的一种机器,没了。人们之所以要使用计算机,就是由于它高速处理信息的能力可以帮我们更好地解决很多繁杂的事务,并且从中获取更高的价值。

而网站,就是多台计算机之间通过一种或多种约定好的通信协议(比如二进制数97表示字母“a”,65表示“A”)实现相互通信而已。也就是说,网站实际上就是运行在一台性能比较好的计算机上的一堆二进制码,直接编写二进制码繁琐枯燥乏味,而且出错率高,所以这些二进制码是由其他的比较高级的计算机编程语言代码生成的(如:汇编语言),而程序员就是编写这些高级代码的人。(某些工程由于代码量太大(如网站工程等)直接用汇编语言编写不太现实,所以这些大型工程一般有更高级的语言(如:Java,C#,python,php等)编写,最终在计算机最底层还是最本质的二进制码在运行。也就是说,越是高级的语言,程序员所需编写的代码量就越少。)

我们平时所访问的网站,像京东也好,淘宝也好,微信也好,实际上是通过网线或者无线wifi、移动网络(3G、4G、5G)等之间或间接的访问京东、阿里巴巴、腾讯的计算机服务器,他们的服务器通过返回一个页面(html页面)给我们的计算机,我们的电脑上的浏览器会编译这个html页面,然后再显示到屏幕上。如图:

这个网页的实际内容是这样的:

对,我们所看到的,只是我们的浏览器根据这些内容,渲染出来的而已,服务器并不是真的就发送这么个漂亮的页面给我们。而是发了一堆字符流,这些内容符合html(超文本标记协议),因为浏览器基本都支持这种协议,所以我们就看到了这种协议所表达的画面。

那问题来了,计算机之间是如何实现通信的呢?也就是说,那么多台电脑,那么多台计算机,我怎么知道该访问那一台,如何识别那一台和谁给我发送的信息、谁需要我的回复等。这个,就是计算机网络的内容了。

什么是计算机网络?

由于篇幅有限,我这里只讲个大概,后面有机会再给大家一一道来。

所谓计算机网络,就是使用网线、光纤、无线WiFi,移动网络等为介质,通过路由器(一种特殊的计算机、专门实现其他计算机之间的通信),把许许多多的计算机直接或间接的联系到一起,就如同一张网一样,每个节点都直接或间接地关联,每个节点表示一台计算机,这样就可以实现计算机与计算机之间的联系了。

如图所示:

当然,实际上的路由器是成千上万台的,每台路由器也可能不止连接这么几台计算机(这里的计算机指任何能联网的设备,如:手机、电脑、智能机器人、服务器等,包括路由器本身也是计算机)。

这里,每一台计算机都有一个唯一的ip地址,用于不同机器之间的通信,比如ip地址为192.168.1.100的计算机想要访问产品地址为192.168.1.101的计算机,那他只需要在发送出去的内容里标明收件ip地址为192.168.101,发件IP地址为192.168.1.100就可以了,剩下的交由路由器去处理,路由器与路由器之间就有一种机制能够实现这种通信,由于篇幅原因这里就不多做讲解,感兴趣的可以去翻阅其他资料或者留意后期我的博客关于http等网络协议的讲解。

以上已经初步讲解了网站入门所需要了解的知识点,真正学习网站还要在深入了解。下面,我们再来了解一下网站的工作原理吧。没错,现在才是真正进入主题。

什么是网站?

网站就是,客户端(如:电脑、手机的浏览器,或者微信客户端等这些在用户手里操作的)通过地址(如:https://www.baidu.com)访问服务端(也就是服务器,如 https://www.baidu.com 地址对应的就是百度的服务器或服务器群(由于一台服务器可能无法处理全国那么多人的访问,所以需要多台服务器来分担压力)),服务端返回一个页面(或其他的内容,如json字符串、xml文件等)给客户端,然后客户端自己分析得到的结果,然后再呈现给用户。那么,这些运行在服务端的代码和配置文件、数据文件等就是一个网站的组成部分。开发一个网站,就是如何使用代码,实现上面的那个过程。

网站一般分为前端和后端

所谓前端:可以理解为用户看得到的,或者是运行在客户端的那部分(这些代码实际上也是存放在服务端的,只是客户端访问时从服务端获取,然后在自己客户端运行,服务端指负责存放这些代码)。

所谓后端:就是实实际际运行在服务端的代码,负责整个网站的具体实现,包括所有的逻辑结构、数据保存、性能维护等。

如果把一个网站比作一个美人,从以前的观点,前端就是你所能看到的她漂亮美丽的面孔,性感美妙的身姿,还有绚丽多彩的衣服,就是展现在人们面前能看到的那些,而后端则是她的五脏六腑,是她能够活在这个世界上的根本。但是从目前的情况上看,前端的功能已经越发强大,从现在的趋势来看,把前端仅仅比作美人被人们所能看见的那些部分,恐怕学前端的人会很不乐意,更形象一点应该包括美人优雅的舞姿,甜蜜的声音等一些看不到却体会得到的东西。例如现在前端也能够实现一些简单的人工智能(如手写字识别等)。

一个女人如果美若天仙,却病入膏肓卧床不起,估计无法吸引到多少帅哥,若是身体非常健康但奇丑无比,同样没有帅哥敢接近。网站也一样,如果一个网站的界面做的很好,但后端逻辑很差劲,导致性能差,不能很好得处理高并发请求,经常服务器奔溃等,用户用过一次估计就闻风丧胆。同样,如果后端做的很好,而前端页面不够吸引人,不够人性化,几乎很难吸引到客户。因此,做好一个网站需要双管齐下,两者不存在谁好谁坏之分。

最后,我们来总结一下,一个网站的具体实现过程。

首先,客户端通过链接得到要访问的服务器的ip地址(可以查阅资料“关于DNS服务器的工作原理”,DNS服务器,一种实现通过域名地址就能解析得到该地址所对应的服务器的ip的服务器,常用的DNS服务器ip有114.114.114.114和8.8.8.8,后者是谷歌负责维护的DNS稳定性高,当然,前者也不赖,是国内通用的DNS服务器),然后访问该ip地址所在的服务器,服务器通过客户端的请求内容里的请求者ip,知道是那台客户端访问了它,并向客户端发送响应内容,响应内容可能是一个html页面,也可能是json字符串或者xml文件等。客户端再把得到的响应内容进行解析,然后呈现给用户。

而能够实现该过程的编程语言有很多,目前主流的有Java、php、python、C# 甚至是C语言也能实现,只是不建议用C语言,那样分分钟能要了程序员的命,代码量太大了。我个人就是使用python实现了自己的私人博客,有兴趣可以浏览链接:http://www.blog.josen.top/

好了,暂时就说到这里了,后面会给大家分享更多的关于编程的知识,由于个人的能力有限,博客可能存在一些不足之处,欢迎大家在评论区留言评论,同时,如果大牛们对肉松有什么建议或意见,或者与肉松有什么志同道合的想法,欢迎通过邮箱(JosenChina@126.com)联系我哦。

 

  • 13
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值