web开发——1.概述

python web开发

1-1 预期目标

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

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

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

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

n 3W1H

u what?

u where?

u why?

u how?

1-2 开发基础

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

l 计算机基础知识[了解]

l 网页开发[HTML/CSS]

l 网页动态效果[Js/JQ]

l 网页快速搭建[Bootstrap]

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

l 数据库相关

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

l 服务器后端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) 网络软件

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

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

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

请简单描述HTTPHTTPS的区别?

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

先说加密:

l 什么是加密

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

加密的核心:算法

明文:原始数据

密文:加密后的数据

l 加密的方式

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

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

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

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

非对称加密:加密和解密使用不同的秘钥,典型应用如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)]

l 开发接口函数

def app(env, response):

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

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

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

msg = “这是一条数据”

return [msg.encode(“gbk”)]

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

l 开发服务器

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:表示服务器出错了

【重要】

概念题[面试题]

² 请简要描述HTTPHTTPS请求协议的区别?

² 请描述常见的web开发技术,描述不同的开发语言的开发优势?描述pythonweb应用开发方面的优势?

² 什么是WSGI

² 什么是web接口?

操作题

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

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

扩展题

请简要描述get请求方式和post请求方式的区别!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值