python web开发 了解基础点

python web开发

[if !supportLists]1-1 [endif]预期目标

技能:学习[Django] [Tornado] [Flask]web开发框架

经验:熟悉[门户网站\在线电商\管理平台、项目开发]开发流程和处理过程

总结:掌握[学习过的所有知识点的]主线!


检测一个技能学会与否的关键

3W1H

what?

where?

why?

how?


1-2 开发基础

要学习web开发,需要掌握的基本技能

计算机基础知识[了解]

网页开发[HTML/CSS]

网页动态效果[Js/JQ]

网页快速搭建[Bootstrap]

网络相关知识[传输协议]

数据库相关

数据相关知识[数据安全(加密解密)]

服务器后端web应用程序开发


1-3]回顾:前端开发

HTML:超文本标记语言

超文本:不仅仅能表示简单的文字

HTML的目的:按照指定的格式在浏览器中展示数据

标记/标签:选择文本~成对标记/标签、单标记/标签

标签的类型:

行标签:标签前后不换行、不能设置宽度和高度[display:inline]

行内块标签:标签前后不换行,可以设置宽度和高度[display:inline-block]

块标签:标签前后自动换行,可以设置宽度和高度[display:block]

常用的标签:

span\p\br\hn\em\i\

form\input[text/password/checkbox/radio/url/email/..]

CSS:对于HTML标签选中的内容进行样式修饰

定位样式

字体样式

尺寸样式

背景样式

more等等

盒子模型:

传统盒子模型[使用了一堆标签 和他们的定位样式以及内容样式,操作展示网页布局]

盒子:规范网页布局的核心

分析盒子的意义——网页开发——无障碍!


网页布局:通过对整体网页的结构分析,完成盒子的嵌套进行网页布局的实现

网页开发:网页布局->颜色填充->部分网页布局->颜色填充->..->内容填充


网页快速开发:

网页开发流程:

产品:UI设计网页-> [产品经理]-> 前端开发网页-> [产品经理 交付]

工具:BS快速搭建网页-> 开发后端程序-> 部署运行


web阶段:

Django 3周[2+1]

Tornado 1周[4+1]

Flask 1周[1+4]


web概述[web基础]

Django 入门[快速了解]

Django-----


1. web概述

web:网络

网络:多台互相连接的计算机组成的可以通信的一个组成部分——网络

规模比较小:局域网

规模较大:城域网

规模很大:[相对于全球——天朝]大城域网

规模相当大:全球网络~广域网


web软件:网络软件

2. 软件的分类

软件:一种可执行的计算机指令的集合——程序!程序的宏观体现:软件

>> 理解:所谓软件,就是在电脑上安装的可执行的应用程序!

>> 社交软件:QQ、微信、陌陌、钉钉、微博、Facebook..

>> 办公软件:Mircosoft office、金山office、…

>>> 办公系统:OA系统

>> 网络软件:更多的指代动态网站


根据软件的使用是否需要联网:[为什么要用软件!]

1) 单机软件:软件的使用不需要联网,如CS1.6、红警、office、画图、扫雷

a) 不会被取代,但是使用受到很大的局限

2) [endif]网络软件

a) [endif]会越来越流行——【重点】


根据软件使用过程中是否需要下载安装包

1) C/S结构:Client-Server 客户端服务器软件

a) 在自己的客户端电脑上,下载一个安装包程序,安装软件之后,才能正常使用软件提供的各种功能

b) QQ

c) 特点1:软件需要的所有文件,都直接从本地安装文件夹中获取,速度和效果很好

d) 特点2:软件如果有新功能更新,需要重新下载安装包

2) B/S结构:Browser-Server浏览器服务器软件

a)在自己的客户端电脑上,只需要有一个浏览器,就可以使用软件提供的各种功能

b) 淘宝

c) 特点1:软件需要的所有文件,都需要通过网络进行获取,速度和效果较较好

d)特点2:直接在服务器端更新,客户端不做任何处理就可以使用新功能!


3)目标:当网速不在是问题,B/S结构的软件会是现在和将来的趋势

a) 重点:B/S结构的网络软件

关于网站:

网站:通过浏览器中输入Url地址访问的在线的服务,称为网站

静态网站:纯网页,网页中的内容是固定的,不会变化的!将单纯的这样的网页部署在网络服务器中,其他人就可以通过浏览器进行访问查看,这样的网站成为静态网站,主要用来进行信息展示:学校门户网站

动态网站:数据在网页中,是动态添加上的,并在网站的使用过程中,会伴随着大量的数据动态处理过程!

网页中的数据是动态添加和变化的[商品详情页],并且网站中有大量的数据处理过程、这样的网站称为动态网站,也称为web软件[web应用程序]

PS:动画网页和动态网站

动画网页:是网页中有动画特效,但是所有的数据内容都是提前在网页中固定写好的!

动态网站:网页中可能会没有动画,但是数据是动态添加的,并且会有数据运算和交互


网络传输协议

什么是协议?

数据交互的双方,为了保障数据正确的传输,而协商计议的一种数据交互方式

发送方[发送数据(操作方式)]à 接受方[接受数据(操作方式)]

不管什么样的处理操作方式,数据本身都不会发生变化

发送的数据,如果接收方没有做正确的处理,会产生[乱码]

为什么要有协议?

目的:为了保障数据的正确传输[发送正确、接受正确、展示正确]

原因:因为数据的传输,实在不同的个体之间进行传输的,不同的个体处理数据的方式可能不一致~必须通过协议让数据传输的双方按照一致的操作处理数据

协议是怎么制定的?

网络互联非盈利组织[OSI]~欧洲计算机制造协会联盟[ISO]—>制定了一套协议标准

ISO/RM七层协议标准[简化的4层协议标准]

所有编程语言的发展史à 标准的制定史

常见的都有什么协议?

FTP/TFTP/...

协议是专门用来格式化定义数据传输的~传输数据~传输端口

协议怎么使用?

在具体的功能开发过程中,软件开发时约定使用

HTTP:超文本传输协议~约定使用80端口;FTP[20/21];SSH[22];

HTTPS[443]


再说HTTPS

请简单描述HTTP和HTTPS的区别?

请简单描述数据安全方面,关于数据加密的一些手段?


先说加密:

什么是加密

加密:通过一定的数据算法,将原始的数据进行混淆运算,生成了一种和原始数据不一致的数据,~这个新生成的数据,就是被加密的数据

加密的核心:算法

明文:原始数据

密文:加密后的数据

[if !supportLists]l [endif]加密的方式

单向加密:只需要加密,不需要解密的方式,如~用户登录密码[新用户注册时,输入了账号+密码,将用户的账号+(加密的密码)存储到数据库;用户登录时,输入账号+密码,将用户输入的账号+(加密的密码) 和数据库中的账号+(加密的密码) 进行比较,相同则登录成功—就可以对用户的登录密码进行保护]

 

双向加密需要加密,同时需要解密的方式,如~用户在电商网站进行支付操作时,需要输入支付密码~为了保证安全性,需要对支付密码进行深层加密之后进行传输,服务器获取到被加密的支付密码~需要解密之后,再调用支付宝接口进行支付操作!


双向加密~根据不同的加密解密方式,可以区分为两种操作

对称加密:加密和解密使用同一套秘钥[算法的核心]

非对称加密:加密和解密使用不同的秘钥,典型应用如HTTPS的加密通道


再说HTTPS:使用数字签名证书SSL提供了数据传输安全通道的HTTP协议

再说加密:

为了提高数据的安全性,并不一定对于明文数据直接加密,而是通过各种算法组合、迭代加密次数、添加盐值混淆的手段,提高数据的安全性

明文:”admin”

加密:1混淆盐值:’manager’~2迭代加密md5()加密1880次~3得到最终数据

开始进入web的世界!

目的:数据共享

通过提供服务器,在服务器上承载共享的数据,让在网络中的其他计算机可以分享到服务器上的数据,web数据共享


术语:

服务器:提供服务访问的机器

硬件服务器:如个人PC、刀片等等

软件服务器/web服务器:安装在操作系统上,专门提供数据访问服务的软件,如网络编程时开发的服务端程序、比较成熟的服务器~tomcat/tomee/apache/nginx/uwsgi..

客户端:作为服务器的用户存在的终端~客户端[访问客户所在的终端]

访问服务器的所有的用户,可以是PC、平板、手机、…


主机名称:HOST~在网络中工作的一台PC的名称,在网络中通常通过IP表示


域名:IP地址的一种简易记忆方式~通过自然人比较容易记忆的字符串,替代了复杂的ip地址,如:www.baidu.com-> [DNS域名解析] ->115.239.211.112


端口:应用程序和网络进行通信的接口


资源路径:访问的具体的文件夹路径http://www.baidu.com/index.html



web项目结构


web项目:【服务端】

两部分[服务器 | web应用程序(web app)]

[if !supportLists]l [endif]开发接口函数

def app(env, response):

# env:环境参数,包含了请求中的所有信息

# response:响应参数~包含了响应中可以设置的数据

response(“200 OK”, [(“Content-type”, “text/html”)])


msg = “这是一条数据”

return [msg.encode(“gbk”)]

注意:就是一个普通函数,这个普通函数被加载到服务器中变成了当前web应用程序的接口函数


[if !supportLists]l [endif]开发服务器

from wsgiref.simple_server import make_server

# 创建服务器对象make_server(HOST, PORT, FUNCTION)

server = make_server(“”, 8000, app)

# 启动服务器

server.serve_forever()

使用了内置的实现了wsgi网关接口协议的服务器

开发比较简单!

>> 明天的开发,会更加简单!

最底层[C/C++]à python开发[网络编程]à 内置[wsgi]à 开发服务器


扩展1:关于请求方式

请求:客户端通过url地址向服务器发送的一次数据成为请求[request]

HTTP1.1标准中,制定了8种请求方式,常见的有四种请求方式,常用的有两种请求方式

GET:向服务器请求获取数据

POST:向服务器提交[更新]数据

PUT:向服务器提交[添加]数据

DELETE:向服务器请求删除数据

HEADER:

OPTIONS:

CONNECTION:

TRACE:

备注:HTTP1.1标准中,定义了不同的请求方式表示不同的含义,其实在项目实际操作过程中,最常用的就是GET/POST两种方式,都是和服务器进行数据交互的!


扩展2:请求状态码

在计算机程序开发过程中,NB人喜欢使用整数的方式表示特定的含义

在web开发过程中,请求返回数据结果,也会有一种错误码方式展示请求结果

200:表示请求成功

402:请求需要收费

403:请求被禁止访问

404:请求的资源没有找到

500:表示服务器出错了…




【重要】

概念题[面试题]

[if !supportLists]² [endif]请简要描述HTTP和HTTPS请求协议的区别?

[if !supportLists]² [endif]请描述常见的web开发技术,描述不同的开发语言的开发优势?描述python在web应用开发方面的优势?

[if !supportLists]² [endif]什么是WSGI?

[if !supportLists]² [endif]什么是web接口?


操作题

[if !supportLists]u [endif]可以独立开发wsgi接口支持的web应用程序[demo01.py]

[if !supportLists]u [endif]可以参考开发无常薄 小应用程序[不同的请求URL,处理不同的功能]


扩展题

[if !supportLists]l [endif]请简要描述get请求方式和post请求方式的区别!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容

  • Django深入浅出-web概述 目录 Django深入浅出-web概述 1 1. 软件分类 1 2. web软件...
    AAA年华阅读 555评论 0 1
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,513评论 0 38
  • 需要原文的可以留下邮箱我给你发,这里的文章少了很多图,懒得网上粘啦 1数据库基础 1.1数据库定义 1)数据库(D...
    极简纯粹_阅读 7,309评论 0 46
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • 窝一本正经的问“妈 窝有哪些优点啊…” 她说“优点啊?怎么说呢…我也不知道…” 泥也不知道!!qaqqqqq 不知...
    莎莉花园阅读 173评论 0 0