Python Django Web从入门到项目实战(视频版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 Web简介

Web(World Wide Web,WWW)翻译为中文就是全球广域网或万维网,俗称网站(WebSite),它是一种基于超文本(Hyper Text)、超媒体(Hypermedia)、超文本传输协议(HTTP),建立在Internet上的分布式信息服务系统。普通用户可通过在浏览器中输入网址(Website Address)访问对应网站。

1.网站

如图1.1所示,新浪网是大家非常熟悉的一个网站,该网站为访问者提供了各种各样的信息发布栏目及个人微博共享平台,也提供了大量的广告信息。人们通过自家电脑的浏览器(Brower)就可以轻松访问该网站。

作为本书的读者,大家不仅要做到简单地访问一个网站,还要深入了解网站实现的技术原理,掌握技术内容,自己构建网站。

图1.1 新浪网

下面介绍3个与网站相关的基本概念。

(1)超文本

超文本(Hyper Text)主要是指带有超链接或特定文本组织格式的电子文档。如网页在显示相应格式内容的同时,可以内嵌其他网页的链接,单击一下就可以进入其他网页。

网页的主要超文本格式采用HTML、HTML5等。在新浪网站中随意打开一个网页,单击鼠标右键,选择弹出菜单中的“查看网页源代码”选项,就可以看到相应的超文本格式代码,如图1.2所示。关于HTML代码编写的相关内容,我们将在2.1节介绍。

图1.2 超文本栺式代码(部分)

(2)超媒体

超媒体(Hypermedia)是超文本和多媒体在浏览器环境下的结合,为浏览的网页提供了图片、动画、声音、视频等效果。实现过程是,将上述媒体文件以超文本指定格式链接到网页上,并展示出来。

(3)超文本传输协议

超文本传输协议(HyperText Transfer Protocol,HTTP)是浏览器访问网站时的简单请求、响应协议。通过该协议,浏览器端可以发送访问信息到网站,网站再将相应的网页信息发送回浏览器端,完成信息传输过程。

在浏览器中通过网址访问网站的过程,实质上是发送HTTP请求的过程,HTTP请求方式有9种,如表1.1所示。

表1.1 9种HTTP请求方式

表1.1中最常用的请求方式为GET、POST,是开发者需要重点关注的对象。

例如,在新浪网首页上单击一个网页链接,可以看作一次GET请求的发生,它根据HTTP在网站处获取指定的数据(如另外一个带数据的网页),并将数据返回浏览器,通过网页跳转在新界面上将其显示出来。

又如,在新浪网的用户登录界面输入用户名、密码并提交数据给网站,这个过程涉及的请求方式是POST,提交成功后返回成功状态数据,转入登录成功界面。

2.网站的构成

网站由一个个网页(Web Page)构成。因此,程序员需要设计各种各样的网页,然后通过网站框架将它们组织起来,供不同的用户使用。

从程序员或网站管理员的角度,网站有前端和后端之分。

前端就是通过浏览器可以访问的网页功能和内容,主要面向网站访问者;后端是信息发布管理系统,功能包括登录网站用户信息的管理、使用功能权限的管理、栏目信息的编辑与发布、发布内容的统计、网站访问量统计等。

3.Internet

Internet的中文翻译为因特网,也称国际互联网,是将全球各大洲的主要网络连接在一起提供信息共享与服务的世界最大的信息资源网络。

Internet主要由通信链路、大量的服务器(如DNS服务器、Web服务器)、路由设备、信息软件(网站、浏览器、通信社交软件等)、个人终端组成,如图1.3所示。

图1.3 Internet的组成

(1)通信链路包括有线链路、无线链路。有线链路如国际跨洋海底光缆、国家骨干光纤通道、城市光纤通道、小区楼宇通信线路等;无线链路包括卫星通信链路、无线通信发送站、家庭无线网络等。这些都是保证数据顺利传输的渠道。

(2)服务器是用于安装网站等互联网软件系统的专职计算机,也是程序员对开发好的网站进行部署并运行的实际位置。服务器可以存储海量的信息数据,包括各种文件、数据库等。另外,DNS(Domain Name Server,域名服务器)会提供域名并统一管理IP地址转换。

域名(Domain Name)又叫网域,用点分隑,表示Internet上某一台服务器或服务器组的名称,用于在数据传输时对服务器进行定位标识,其格式为www.<用户名>.<二级域名>.<一级域名>。

例如,新浪网的域名为www.sina.com.cn,“www”代表万维网,“sina”为用户名,“com”为二级域名,“cn”为一级域名,它们之间用点分隔。“com”用于工商金融企业,“cn”代表中国,是China的缩写。由此,部署完成的网站要正式运行,必须先向域名服务商申请域名。

(3)路由设备是普通用户通过浏览器访问不同网站的服务器,可提供网址搜寻、转发数据的功能。

(4)信息软件在本书中就是指网站。

(5)个人终端主要包括台式电脑及浏览器、手机终端及浏览器、平板电脑及浏览器等。

4.URL

URL(Uniform Resource Locator,资源定位符)是指读者在网站中单击的具体链接资源的完整网址,如图1.4所示。URL代表一个网站上资源的详细地址,一个资源对应一个唯一的地址。例如,要想访问网站中的一张图片,该图片具有一个唯一的URL。

图1.4 完整的URL

完整的URL由协议、主机名(或主机IP地址加端口号)、资源相对路径组成,其格式定义如下。

(1)协议:这里是指超文本传输安全协议HTTPS。

(2)主机名:这里指“baike.baidu.com/”,在Web项目开发过程中,一般指向具体的IP地址加端口号。

(3)资源相对路径:这里指“item/网址/1486574?fr=aladdin”,指向具体的网页,其中可以包含参数,如“?fr=aladdin”“?id=1”“?id=2”等,用于增加URL指向资源的灵活性。为了方便后续介绍Django、Vue.js资源设置及使用,本书提到的“URL”都指“资源相对路径”。