网络应用的模式
B/S - Browser / Server - 浏览器/服务器模式的应用
好处: 不用安装客户端,不需要更新
体验和特效不错
如:webQQ, 所有现在端游居多
C/S - Client / Server - 客户端/服务器模式的应用
缺点: 必须要安装客户端, 假如更新又要安装
但是体验和特效更好
如:QQ,英雄联盟,专业的编程工具(虽然这些有网页版的但是做的不细致)
用户访问网站.jpg
- 基本概念
~ URL(Universal Resource Locator) / URI(Universal Resource Identifier)
统一资源定位符/统一资源标识符
http://www.baidu.com:80/index.html
协议 域名或IP地址 端口号 路径(/) 资源
HTTP - 超文本传输协议 - Hyper-Text Transfer Protocol - 应用级协议
基于TCP提供的可靠传输服务来传递超文本
超文本 - 到另一个文档或文本的单词,短语或大块文本。超文本涵盖了文本超链接和图形超链接
端口号: 它是用来区分服务的
如: 80 - 默认的端口
1 - 比如是下载的端口
2 - 比如是新闻页面的端口
HTTP请求报文 - request
请求行 - GET /index.html HTTP/1.1
请求头 - 键值对
空行
消息体(浏览器发给服务器的数据)
HTTP响应报文 - response
响应行 - HTTP/1.1 200 OK
响应头 - 键值对
空行
消息体(服务器发给浏览器的数据)
实际就是 我们处理用户发送的请求, 然后响应给用户, 所以这时我们可以用封装好的框架(比如django, flask) 有了框架我们处理请求只需要调用写的方法就行了
用Python程序处理来自浏览器的用户请求并生成响应的内容输出到浏览器呈现给用户
~ DNS(Domain Name System) - 域名系统
域名 ---解析---> IP地址
比如我们随便输入一个网址,它会先在本地找(有没有缓存),
然后再找它爸爸,再没有找爷爷,
仍然没有就去找根DNS(全球也就几台),
如果还没有,就没有该网址!
~ 反向代理 - 隐藏真实的服务器,免于将真实的服务器暴露在公网,实施负载均衡
目前Nginx用的比较多
Nginx / LVS
用ping 网址 可以查看ip, 但不是他真正的ip (隐藏真实的服务器)
如:
ping www.baidu.com
~ Web服务器 - Nginx / Apache - 处理静态资源
用户量如果有很多,此时就需要很多台机器,
而且有上面的反向代理,可以负载均衡(
免得一个服务器上处理一亿数据,而另一个服务器不处理)
~ WSGI服务器 - 连接Web服务器和Python程序的桥梁 - uWSGI / Gunicorn(独角兽)
Web Server Gateway Interface
二,python环境安装 和 django安装(在环境下安装)
因为这样避免冲突,给它一个纯净的环境
1.在终端中创建环境和django
a. 先找到你想创建文件夹的盘,然后创建文件夹
mkdir djangoday1
b.打开该文件夹
cd djangoday1
c.安装python虚拟环境
苹果/ubuntu安装
python3 -m venv venv(文件名)
source venv/bin/activate
在windows CMD终端中
# 第一种
python -m venv venv
"venv/Scripts/activate"
# 第二种
# 前提是你要有这个工具(可以通过pip安装)
pip install virtualenv
virtualenv --no-site-package venv
退出环境
deactivate
在环境下安装django
pip install django
检查依赖性是否冲突
pip check
查看你安装的东西
pip freeze
创建第一个项目
django-admin startproject djangoday1 .
. - 表示当前路径下创建这个项目
运行该项目
python manage.py runserver
打开setting.py文件
vim django1901(苹果/ubuntu)
settings.py(windows找到这个py文件,用记事本打开)
# 设置为中文和时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Chongqing'
创建应用 - 两种方法
# 第一种
django-admin startapp 文件名
# 第二种
python manage.py startapp 文件名
创建的app
MVT
views.py 负责业务逻辑并适当调用Model和Template(相当于一个控制器的一小部分) - V
models.py 负责业务与数据库(ORM)的对象 - M
templates - 负责把页面渲染展示给用户 - T
注意: Django中还有一个url分发器,也叫作路由。主要用于将url请求发送给不同的View处理,View在进行相关的业务逻辑处理。
===================================
ubuntu下载pip
创建一个文件(终端中)
mkdir .pip
cd .pip
网友评论