1.1网站的组成
网站应用程序主要分为:客户端、服务器端
客户端:浏览器中运行的部分,用户能看到并与之交互的界面程序,使用HTML\CSS\Javascript构建。
服务器端:在服务器中运行的部分,主要负责存储数据和处理应用逻辑。(看成一个电脑)
客户端与服务器端通过请求和响应(获取数据,创建数据)
请求:客户端向服务器端发送一个指令,告诉服务器端我要获取一个数据。
响应:服务器端接收到指令后,对客户端应答,回应,将客户端请求的数据发送给它。
1.2Node网站服务器
能够提供网站访问服务的机器就是网站服务器,他能接收客户端服务请加,能够对请求作出响应。
是一个电脑,并在其中安装Node代码运行环境,再在node环境中使用node.js创建一个能够接收请求,响应请求的对象。
放在机房中,程序员通过远程控制方式控制这台服务器。
1.3IP地址
IP是互联网中设备的唯一标识;
代表互联网协议地址;(和家庭住址相仿)
IP地址由一串数字组成;
1.4域名
由于IP地址难以记忆,所以产生了域名的概念:上网使用的网址;
虽然在地址栏中输入的是网址,但是最终还是会将域名转换为IP,才能访问到指定的网站服务器;
电脑不仅可以向外提供网站服务,还能提供其他许多服务,例如:邮件服务,文件上传下载服务,数据库服务。
是怎么区分服务呢?当有请求来时,怎么知道请求哪一种服务?
答:为了区分不同的服务,计算机中有一个端口的概念。
1.5端口
每一个向外界提供服务的软件都要占用一个不同的端口,以区分不同的服务。
端口实际上就是一些具有一定范围的数字。(范围是0-65535)
node软件要想向外界提供服务,也要占用一个端口,node开发者,习惯使用3000作为node服务器的端口号。
一个软件只能占用一个端口号,如果某一个端口被其他软件占用,那你的程序就会报错,程序无法运行。
软件占用端口也被叫做:端口监听,在计算机中通过任务管理器,就可以看到每个软件所占用的端口。
任务管理器中: PID:端口
例如:360占用了8704端口。
1.6URL
客户端访问服务器端的地址称为URL;(统一资源定位符)
在URL中标注了要请求的服务器地址,提供服务的端口,要请求的资源位置等信息。
URL实际上就是上网时所用的网址:通过这个网址确定了要访问的资源在互联网中的位置;
URL的组成:
传输协议://服务器IP或域名:端口/资源所在位置标识
http: //www.baidu.com
①http:超文本传输协议,提供了一种发布和接收HTML页面方法;(超级文本,不仅可以包含文字,还可以包含图片、视频、音频...)
在协议中规定了客户端和服务器端应该如何沟通,规定了传输内容的类型以及格式等。
②服务器IP或域名:通过这个地址找到要请求的服务器
③端口:
为什么在输入网址时,从来没有输入过这个端口?
答:因为网址应用大多时使用的都是80端口,在没有输入端口的情况下浏览器在请求的时候,会默认加上80端口。所以不需要手动输入。
④请求的资源:在服务器中所在的位置,通过这个具体的位置标识,才能在服务器中找到你要找的资源。(认知:服务器中资源对应的文件夹(这个认知不完全对))
在服务器端实际上可以拿到请求地址,然后对应这个请求地址具体返回什么是服务器端说了算的。
比如:
你请求a.html文件中的内容
但服务器端返回: b.html文件内容(是没有问题的)
1.7开发过程中客户端和服务器端设备的说明
已知:客户端就是浏览器,可以是任何一台电脑中的浏览器,而服务器端是远端的一台电脑,难道需要买一台电脑,控制开发?实际没有必要。因为在开发阶段,开发人员电脑既可以充当服务器,也可以充当客户端。因为这台电脑中,既安装了浏览器,又安装了Node软件运行环境,所以既可以充当客户端,也可以充当服务器端。
同一台电脑:怎样通过网络方式去访问它?
每一个人的电脑中都有一组特殊的IP和域名,代表本机:
IP:127.0.0.1
域名:localhost
在开发过程中,我们输入localhost就代表我们要通过网络的方式,找到自己电脑中的服务器。