1.3网站工作原理

当浏览者打开浏览器输入网址,输入网址“www.icourse163.org/course/NBCC-1205793801”,并按回车键时。就意味着客户(Client)向互联网(Internet)发送了一个请求(Request),通过互联网的不同设备路由转发到Web服务器(WebServer),Web服务器是一个驻留在因特网上的计算机程序,它可以处理浏览器等Web客户端的请求并返回相应响应,将放置在其上的网站文件提供给客户浏览,最终通过浏览器呈现出用户能够直观查看的页面(如图 1-2)。这些处理过程非常快速(通常都是毫秒级的),后台技术处理了所有细节,对于前台的使用者而言只需打开一个浏览器、输入网址、查看请求页面在浏览器中的显示。

图 1-2网站工作原理

任务1-1 使用浏览器查看课程网站

使用浏览器,打开课程网址,并查看页面显示效果

在电脑设备中,打开任意一款主流浏览器工具(推荐Chrome),在地址栏中输入如下地址,按回车,查看并浏览页面反馈结果

www.icourse163.org/course/NBCC-1205793801

[!teacher] 仔细观察一下你的地址栏,有什么变换吗?


[!student] 地址栏中,自动添加了https://


[!teacher] HTTPS是请求中包含的协议名称,除此之外,HTTP,FTP等都是协议名称。初学者最容易搞混的就是HTTP和HTTPS,下面简单了解一下这两个协议和他们之间的区别吧。HTTP全名是HyperText Transfer Protocol,也就是“超文本传输协议”。它是一种用于分布式、协作式和超媒体信息系统的应用层协议。简单来说就是一种发布和接收 HTML 页面的方法,被用于在Web浏览器和网站服务器之间传递信息。

HTTPS全名是Hypertext Transfer Protocol Secure,即“超文本传输安全协议”。是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

[!student] HTTPS更加安全,是不是现在很多网站都是使用HTTPS协议。


[!teacher] 没错,出于安全的考虑,现在很多主流网站都采用HTTPS协议。HTTPS和HTTP在开发过程中一个非常重要的区别在于: HTTP 默认工作在 TCP 协议 80 端口,而HTTPS 默认工作在 TCP 协议443端口。至于这两个协议的工作原理和详细区别,已经超出了本书讨论的范围,可以查阅计算机网络基础的相关书籍。


[!student] 那什么是端口?它不需要在地址中写出来吗?


[!teacher] 如果把服务器地址比作一间房子 ,端口就是出入这间房子的门,它是一个0~216之间的整数。默认端口可以不用书写出来,但是如果访问的不是默认端口,则需要在地址栏中明确给出,并用冒号分隔。例如:http://localhost:8081,它使用8081端口来访问对应的资源。表 1-1列举了常用协议及其默认端口号的关系。

协议 端口 说明
FTP 21 FTP服务器所开放的默认端口
HTTP 80 超文本传输协议
HTTPS 443 使用SSL/TLS对数据加密,HTTP传输
SMTP 25 邮件发送传输协议,用于发送邮件
POP3 110 邮件接收协议
表格 1-1常用协议和默认端口号

[!student] 原来是这样,那www.icourse163.org一定就是服务器地址了吧


[!teacher] 是的,这里的www.icourse163.org是一个域名(Domain names),域名是互联网基础架构的重要组成部分,它的出现目的是为了帮助人类提供可理解的网络地址。

自从有了互联网以后,任何连接到互联网的电脑都可以通过一个公共IP地址访问到。对于 IPv4 地址来说,这个地址有 32 位(它们通常写成四个范围在 0~255 以内,由点分隔的数字组成,例如 223.252.199.73),而对于 IPv6 来说,这个地址有 128 位,通常写成八组由冒号分隔的四个十六进制数 (例如2027:0da8:8b73:0000:0000:8a2e:0370:1337). 计算机可以很容易地处理这些 IP 地址,但人类在使用它们时却很难记忆和书写。更麻烦的是IP 地址可能会随着时间的推移而发生改变。为了解决这些问题,方便人们的记忆,使用域名来对应IP地址,例如使用www.icourse163.org来对应223.252.199.73。

任务1-2 使用域名访问课程网站

请使用icourse163.org/course/NBCC-1205793801作为请求地址,再次通过浏览器访问,并查看结果

[!student] 这个任务中的访问地址和前一个任务中的最大区别是少了www。但显示的页面结果还是同样的,这是怎么回事?


[!teacher] 要知道原因,需要知道域名的基本格式。图 13所示的域名拥有一个固定的结构,通常是由点分隔成几个部分。在理解域名时,需要从右往左阅读。

图 1-3域名格式

图中的③也称为顶级域名(Top-Level Domain),它可以告诉用户域名所提供的服务类型。例如,包含地区的顶级域名,如.cn,.hk,或.us,分别表示中国,香港,和美国,它表示必须提供给定语言的服务器或者托管在指定国家。包含.gov 的顶级域名,通常只能被政府部门使用。包含edu的域名,只能为教育或研究机构使用。包含org的域名,主要适用于各类型组织机构,包括非盈利团体。包含com的域名,一般表示是企业(companies,Commercial)性质的网站。

此例中,在顶级域名org下,icourse163.org组成了一个一级域名。同样,www.icourse163.org是组织在一级域名icourse163.org下的二级域名。只不过它是一个非常特殊的二级域名。在现在的工程实践中,人们在解析域名的的时候,默认的情况下,把 www.icourse163.org 这个二级域名指向它的一级域名 icourse163.org

[!TIP] 通常情况下,www.domain.com这样的二级域名指向它的一级域名domain.com,从而在实际访问时,可以省略www

思考题

  1. 第一题

    http和https使用的默认端口



  2. 第二题

    下面说法不正确的是




Copyright © zhengzhe 2020 all right reserved,powered by Gitbook该文件修订时间: 2022-08-19 23:03:28

results matching ""

    No results matching ""