汇总python是否适合做web开发.docx
- 文档编号:11532760
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:30
- 大小:48.46KB
汇总python是否适合做web开发.docx
《汇总python是否适合做web开发.docx》由会员分享,可在线阅读,更多相关《汇总python是否适合做web开发.docx(30页珍藏版)》请在冰点文库上搜索。
汇总python是否适合做web开发
FEB2019//PREPAREDBYDAVIDSMITH
第1章Web开发基础
Web开发涉及的技术和知识非常广泛。
本章将由浅入深、循序渐进地向读者介绍Web服务器原理、PHP发展、HTML的基础知识。
在JavaScript部分会结合几个简单的例子,讲解客户端脚本语言的基本原理和具体应用。
PHP作为当前被广泛应用的服务器端脚本语言,已经帮助许多互联网公司构建了完善的业务模型和应用程序。
本章将回顾PHP的发展历史,向读者介绍Web开发相关的基础知识,为下面的学习打下良好的基础。
本章主要涉及的知识点如下。
PHP主要应用领域:
服务器端脚本、命令行脚本、编写桌面应用。
HTML的结构:
头部(Head)和主体(Body)两大部分。
JavaScript在HTML中的3种引用方式:
内部引用、外部引用、内联引用。
1.1PHP简介
PHP(HypertextPreprocessor,超级文本预处理语言),它是一种被广泛使用的开放源代码的多用途脚本语言。
PHP语言的风格类似于C语言,初学者容易掌握。
而且已经在Web领域被广泛的运用。
由于PHP具有“易用性”的特点,因此它可以帮助Web开发人员快速地搭建需要完成的应用。
1.1.1PHP有什么特点
PHP的特点可以概括为以下几个方面。
开源性:
源码开放,开发者可以共同参与到众多的PHP开源项目中。
免费的PHP:
任何人都可以不受任何限制地使用PHP源代码。
在中国,很多互联网公司都采用LAMP(Linux、Apache、MySQL、PHP)平台搭建自己的网站,这种组合模式兼顾了低投入(LAMP整套的建站解决方案,降低企业的投入成本)和高性能,同时还具有良好的安全性。
PHP的易用性:
PHP较其他脚本语言学习成本更低。
由于语法接近C语言,使得初学者更容易掌握。
执行效率高:
PHP消耗较少的系统资源就可以获得很高的执行效率。
图像处理:
PHP提供了丰富的图像函数库。
这些函数库用于动态创建图像,并可以直接将图像流输出到浏览器。
面向对象:
PHP早期版本的代码在本质上是限于面向过程的,过程代码通过允许过程之间的调用来实现重用。
在PHP的新版中,面向对象有了本质上的改变,现在PHP完全可以用来开发大型企业级应用。
PHP相对于其他脚本语言而言,学习成本低、实用性强、执行效率较高,可以胜任大型应用。
1.1.2PHP能做什么
PHP初学者的一个主要疑问就是:
PHP能用来做什么?
按照PHP手册上的经典解释就是:
PHP能做任何事!
下面为读者具体的介绍PHP主要的应用领域。
PHP是运行于服务端的脚本程序,因此可以用其完成任何CGI(CommonGatewayInterface)程序能够完成的工作。
CGI工作流程如图1.1所示。
CGI主要用于完成在B/S(Browser/Server)模式下的应用开发,例如,动态页面输出、获取表单数据、创建或接收Session/Cookies。
图1.1CGI工作流程示意图
PHP主要应用于以下3个领域。
1.服务端脚本
服务器脚本运行模式需要具备3个条件:
PHP解析器(CGI或者服务器模块)、Web服务器、Web浏览器。
具体执行流程:
首先运行Web服务器,然后安装并配置PHP,最后可以用Web浏览器访问PHP程序的输出,即浏览服务端的PHP页面(或数据输出)。
2.命令行脚本
通过命令行模式运行PHP脚本,这种模式下不需要服务器的支持或者依赖浏览器的触发,在命令行脚本模式下仅需要PHP解析器来执行。
通常这种方法被用在Windows和Linux平台下做日常运行脚本使用,如某些守护程序等。
当然这些脚本也可以用来处理简单的文本。
3.编写桌面应用程序
PHP也许并不完全适合用来做图形界面应用程序,但是开发人员同样可以在客户端程序应用某些PHP的高级特性,通过使用PHP-GTK来编写这些程序。
PHP-GTK是PHP的一个扩展,并不包含在标准的开发包中,开发人员需要单独编译它。
通过PHP-GTK可以建立独立的GUI(用户图形界面)应用程序,例如,音频播放器、文本编辑器、数据库后台等。
1.1.3用什么技术来搭建PHP环境
目前,所有的主流操作系统上PHP都能够运行,包括Linux、Unix系列、MicrosoftWindows、MacOSX、RISCOS等。
新版本的PHP支持大多数的WebServer,包括Apache、NginxMicrosoftInternetInformationServer(IIS)、PersonalwebServer(PWS)、Netscape、iPlantserver、OreillyWebsiteProServer、Caudium、Xitami、OmniHTTPd等。
当用PHP来做Web开发时,可以使用Linux系列的操作系统或WindowsNT操作系统平台。
Web开发人员通常会选择系统稳定性更好的Linux系列系统,作为PHP的执行平台,实际的使用经验证明Linux系列操作系统拥有更好的系统稳定性。
在Linux系列操作系统下通常是LAMP(Linux、Apache、MySQL、PHP)的组合模式,许多互联网公司都以此作为Web开发框架来搭建自身的应用,并获得了成功。
同时,由于Linux、Apache、MySQL、PHP都是可以免费使用的,因此搭建开发框架的成本也相对较低。
LAMP是一个缩写,它是指一组通常被一起使用来搭建Web服务的自由软件,如下所示。
Linux:
服务器操作系统。
Apache:
开源的Web服务器软件。
MySQL:
高效的关系型数据库。
PHP(Perl或Python):
服务器脚本语言。
Apache是LAMP架构最核心的部件(WebServer)。
Apache具有开源、稳定、模块丰富的优势。
但是,不如一些轻量级的Web服务器高效(如Nginx),轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。
在这里简要的介绍Nginx服务器软件。
Nginx是一个高性能的HTTP和反向代理服务器,Nginx以它的稳定性、丰富的功能集、示例配置文件和较低的系统资源消耗而闻名。
MySQL数据库是多线程、支持多用户的SQL数据库服务器。
它的性能和稳定性都十分优秀,同时也提供了丰富的管理功能。
针对高并发访问和频繁读写操作,通常可以使用主从结构或数据库集群、优化表结构的方式解决。
当然,PHP可以支持众多主流的数据,它几乎涵盖了目前全部的主流数据库,PHP可以支持的数据库如表1.1所示。
PHP还支持很多不太流行的小众数据库,这里不再一一列出。
表1.1PHP支持数据库列表
数据库名称
描述
AdabasD
是一种新的关系型数据库
dBase
第一个在微型计算机上被广泛使用的数据库管理系统
续表
数据库名称
描述
Empress
Empress嵌入式实时数据库是基于知识和规则的关系型的稳定可靠的数据库系统,具有免维护、适应性强、模块化、全分布、多平台、易裁剪、可扩展和开放性强的优点
IBMDB2
IBM公司研制的一种关系型数据库系统。
DB2主要应用于大型系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下
Informix
是IBM公司出品的关系数据库管理系统(RDBMS)家族。
作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统
InterBase
是一种关系数据管理系统,它提供了在单机或多用户环境中的快速数据处理及共享的工具。
InterBase的核心是提供透明的多机种支持的网络运行服务器技术。
InterBase是可以在Windows95、WindowsNT、NovellNetWare及多种UNIX操作系统上运行的工具
mSQL
mSQL(miniSQL)是一个单用户数据库管理系统。
由于它的小巧精悍,使其开发的应用系统受到互联网用户青睐。
mSQL是一种小型的关系数据库,性能平平,对SQL语言的支持也不够完全,但可以满足一些网络数据库应用。
由于mSQL较简单,在运行简单的SQL语句时速度比MySQL略快,而MySQL在线程和索引上下了功夫,运行复杂的SQL语句时比mSQL、PostgreSQL等都要快一些
DirectMS-SQL
MS-SQLServer是Microsoft公司推出的Windows平台上最为流行的中型的数据库管理系统。
特点:
采用客户/服务器体系结构图形化的用户界面,使系统的管理更加直观和简单,与Windows操作系统的有机集成,多线程体系结构设计,提高了系统对用户并发访问的速度
MySQL
是一个快速、多线程、多用户和强壮的SQL数据库服务器,由于其体积小、速度快、总体拥有成本低,尤其是开放源码的特点便于二次开发和定制服务,因此许多网络公司选择MySQL作为数据库
ODBC
是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
这些API利用SQL来完成其大部分任务,ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC
Oracle
是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。
Oracle的关系数据库是世界第一个支持SQL语言的数据库,许多大型网站都选用了Oracle系统
PostgreSQL
是以加州大学伯克利分校计算机系开发的POSTGRES版本4.2为基础的对象关系型数据库管理系统
SQLite
是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。
它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常得低
Sybase
美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统
除了使用上述数据库以外,PHP还提供一个DBX扩展库,用户可以自由地使用该扩展库支持的任何数据库。
此外,PHP具有一个丰富的ODBC数据库连接函数库(OpenDatabaseConnectionStandard,开放数据库连接标准),因此可以连接任何其他支持该标准的数据库。
由于PHP在数据库方面优秀的兼容性,它可以在不同数据库之间切换,这进一步扩大了应用范围。
说明:
本书所使用的程序内容及范例程序,大部分都是基于Linux+Apache+MySQL+PHP这个开发框架的。
1.2HTML基础
HTML(HyperTextMark-upLanguage,超文本标记语言或超文本链接标示语言),是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
1.2.1HTML文档基本结构
在HTML网页文档的基本结构中主要包含以下几种标记。
1.HTML文件标记
和标记放在网页文档的最外层,表示这对标记间的内容是HTML文档。
放在文件开头,放在文件结尾,在这两个标记中间嵌套其他标记。
2.HEAD文件头部标记
文件头用
和标记,该标记出现在文件的起始部分。标记内的内容不在浏览器中显示,主要用来说明文件的有关信息,如文件标题、作者、编写时间、搜索引擎可用的关键词等。
在HEAD标记内最常用的标记是网页主题标记,即TITLE标记,它的格式为:
网页标题是提示网页内容和功能的文字,它将出现在浏览器的标题栏中。
一个网页只能有一个标题,并且只能出现在文件的头部。
3.BODY文件主体标记
文件主体用
和标记,它是HTML文档的主体部分。网页正文中的所有内容包括文字、表格、图像、声音和动画等都包含在这对标记对之间。
通常的标记样式如下: