龙空技术网

Django从入门到精通系列-01、web开发概述

非主流程序员 114

前言:

如今大家对“pythonweb开发从入门到精通百度云”大约比较关切,各位老铁们都需要知道一些“pythonweb开发从入门到精通百度云”的相关文章。那么小编在网摘上汇集了一些有关“pythonweb开发从入门到精通百度云””的相关知识,希望看官们能喜欢,你们一起来学习一下吧!

Django从入门到精通-web概念

从本专辑开始,我会带着大家进入Python Web开发,主要使用Django这个web框架为案例,从理论到手动写代码实现案例,从零基础开发web项目。

首先我们开始第一篇内容,web开发概述,这篇文章主要是对于web开发开始之前的各种理论知识的总结和回顾,为后面进入web开发打下良好的基础。

软件的分类

什么是软件

软件:计算机中按照特定的顺序组织的计算机数据和指令的集合,是一个或者一些功能实现的集合,简而言之,软件就是计算机中可运行的程序。

软件的分类

软件在计算机中一般分为三类,系统软件,应用软件和介于两者之间的中间件。

系统软件

直接安装在计算机硬件上进行数据交互的大型软件,是对计算机硬件的第一次扩展,其他软件都是在系统软件上运行的。

常见的系统软件:window、Android、Linux、UNIX等。

应用软件

安装在操作系统之上,用来完成某个或者某些功能的软件,我们常常说的软件大多数时候指的就是应用软件,如office、浏览器、聊天软件等待。

中间件

应用软件和操作系统软件交互的特殊的软件,如负载均衡软件(F7)等等。

应用软件的分类

我们一般分类,按照不同的标准会得到不同的分类,如果我们对应用软件安装是否可以上网(联网)来分,可以得到两大类:单机软件和网络软件。安装是否需要本地安装客户端,也可以得到两大类:C/S架构软件和B/S架构软件。

单机软件

安装在操作系统上,可以独立运行并且可以不需要网络软件的功能的应用软件,如office办公软件,单机游戏等。

网络软件

安装在操作系统上,必须要连接网络才能正常执行软件功能的应用软件,如社交软件QQ、微信、电子邮箱、爱奇艺等。

C/S结构软件

该类软件由两部分组成,client(客户端)和server(服务器端)组成。用户一般需要先下载安装客户端,之后使用客户端来连接服务器,如QQ、微信、MySQL数据库等。

B/S结构软件

该类软件一般之后服务器端(server),而客户端由第三方提供的浏览器(browser)提供,用户使用的时候,不需要下载安装客户端,只要安装了浏览器即可。用户通过浏览器来访问服务器,浏览器就是界面和客户端。

【扩展】C/S结构和B/S结构软件的优点和缺点。

而我们今天开始的Django就是基于B/S结构的软件的web框架。

web软件

什么是web?

WEB:英文单词[网状物],主要用于表示计算机中的广域网络[world wide web](www)。

world wide web:全球广域网络,也称为万维网,是一种基于超文本和HTTP的全球性的、动态交互的、跨平台的分布式图形信息系统,是建立在internet上的一种网络服务。

什么是web软件?

web软件,是一种基于web为其数据交互基础的计算机软件

该类型软件,通过web万维网的数据交互协议,通过网络进行数据传输

主要目的是高效率的跨平台跨地区数据共享

什么是协议?

协议:是一种共同协商、计议之后通过的一种约定。

网络协议:互联网中的不同主机之间互相传递数据的一种约定,由ISO组织定义协议的描述模型(通常称为7层网络传输模型),规范网络传输的各种协议性质。

web开发时使用的网络传输协议?

超文本传输协议(HTTP)

HTTP(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。 所有的WWW文件都必须遵守这个标准。

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 是一个基于TCP/IP通信协议来传递数据,一个属于应用层的面向对象的协议 。

浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

主要特点:简单快速,无连接,无状态,支持B/S及C/S模式。

网络图片,侵权必删

URI与URL

URI(Uniform Resource Identifiers):统一资源标识符,HTTP使用URI来传输数据和建立连接。

URL(Uniform Resource Locator):统一资源定位器,是一种特殊类型的URI,包含了用于查找某个资源的足够的信息

HTTP请求方式

GET和POST的区别

1、 提交参数的位置不同:

GET 提交的数据会放在 URL 之后,以?分割 URL 和传输数据,参数之间以&相连,如:

POST 方法是把提交的数据放在 HTTP 包的Body中。

2、提交参数的大小不同(理论上,存在争议):

GET 提交的数据大小有限制(因为浏览器对 URL 的长度有限制),这点要根据实际情况而论,目前浏览器种类比较多,不同的浏览器大小限制不同。

而 POST 方法提交的数据理论上没有限制,但是不建议太大。

3、安全问题上:

GET 方式提交数据,会带来安全问题,因为参数是裸露在地址栏上,所以较不安全。

POST方式参数在body中,所以安全性较高(注意:只是较高,不是很安全,在http协议下,不管哪种提交方式,都是明码提交,只要有抓包工具,都能抓取数据的!!!)

4、是否浏览器可以收藏

GET请求因为参数在地址栏上,因此可以收藏(因为参数也会保存啊)。

而POST请求不行,不能被浏览器收藏,因为参数无法被浏览器保存。

web开发行业术语

硬件:组成计算机的各种元器件,如CPU、硬盘、键盘、鼠标等。

服务器:专门用于提供网络数据访问服务的主机。

客户端:发起请求访问数据的主机的计算机软件。

网络:有大量计算机和网络介质组成,用于计算机间进行数据交互。

协议:访问数据的数据编码及传输方式或者规定。

软件

web服务器:专门将指定大数据共享在网络中的一种数据容器软件

web程序:可以在网络上访问并且进行数据处理的程序

web接口:浏览器通过url地址可以访问调用的一个函数或者方法

wsgi接口开发

wsgi(web server gateway interface):web服务网管接口,是一个web服务网关接口组件。

所谓网关接口,就是指代的一个处理节点,处理节点反映到web程序中就是一个简单的处理函数,如定义一个处理根节点的接口

在Python中,Python语言也实现了wsgi的web接口编程,如下代码案例演示:

启动程序,使用浏览器访问,效果如下:

打印控制台env参数查看,我们发现env是一个字典,注意其中PATH_INFO和QUERY_STRING这两个key对应的值。

PATH_INFO获取的就是该页面的URI,我们就可以利用它来传递参数

QUERY_STRING获取的是使用get请求传递的参数。

总结

到此为止,我们已经回顾和总结了后面需要的web开发基本概念,为我们后面开发web提供了理论的支持,下一篇我们就会进入Django框架的学习。

标签: #pythonweb开发从入门到精通百度云