web 框架
CS 架构 ??每个用户 电脑上安装一个 客户端 ?需要升级 ???BS 架构 ??更新快 ???用户只需要一个浏览器socket ?-- ?套接字 ?-- tcp ??api ??socket 相当于 ??高速公路 ??ftp ??httpftp ???-- ??维持连接 ?--- 一直可以相互发消息--- ?建立连接--通信---断开连接http ?-- ??短连接 ??一次对话 ?一来一回 ??????????无状态 ??没有保留状态 没有标识(不知道是谁) ??--- 对于服务端来说都是陌生的 ???????????????????cookie session 验证博客园 ???socket 服务端 ???????启动服务 ?监听客户端的请求自己的浏览器 ???socket 客户端 ?连接http 请求: get post ???????GET / HTTP/1.1 ???????Host: www.hao123.com ???????Connection: keep-alive ???????Pragma: no-cache ???????Cache-Control: no-cache ???????Upgrade-Insecure-Requests: 1 ???????User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 ???????Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 ???????Accept-Encoding: gzip, deflate, sdch, br ???????Accept-Language: zh-CN,zh;q=0.8 ???????Cookie: FLASHID=44E88B0F2AFBF4753CB89EDE14id=de0aID=610 ???????????header 请求头 ???????????\r\n ???????????\r\n ???????????body ??内容http 响应: response ???????????HTTP/1.1 200 OK ????????# 协议和状态 ???????????Connection: keep-alive ???????????Container: 2080830.hz_hao123_online_3754 ???????????Content-Encoding: gzip ???????????Content-Security-Policy-Report-Only: default-src https: ‘unsafe-inline‘ ‘unsafe-eval‘ data: ; report-uri https://reports.baidu.com/csp-report ???????????Content-Type: text/html;charset=UTF-8 ????# ?响应内容 ???????????Cxy_all: +bacc561462b9208869a2d59f3d961ef1 ???????????Date: Fri, 24 Nov 2017 02:10:27 GMT ???????????Lfy: hz01.47815 ???????????Public-Key-Pins-Report-Only: max-age=300;pin-sha256="K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=";pin-sha256="IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4=";report-uri="https://reports.baidu.com/pkp-report/" ???????????Server: Apache ???????????Set-Cookie: org=1; expires=Fri, 24-Nov-2017 15:59:59 GMT ???????????Set-Cookie: v_pg=s_4%2Cs_33%2Cs_36 ???????????Set-Cookie: __bsi=12452152509627802100_00_100_R_R_322_0303_c02f_Y; max-age=3600; domain=www.hao123.com; path=/ ???????????Tracecode: 06269793181026478346112410 ???????????Tracecode: 06268277950916247050112410 ???????????Vary: Accept-Encoding ???????????Transfer-Encoding: chunked ???????????http/1.1 ?200 ?OK ???????# 协议和状态 ???????????????header(可以为空) ??????????????????????(空行) ???????????????\r\n ???????????????\r\n ???????????body 内容 ?hello ???????HTTP/1.1 200 OK\r\n\r\n hello ???利用请求头 的 具体url ?判断 返回不同的内容 ???url ???DNS 解析 ?--- ip 端口 ?web默认的端口是80
======================================================================
一个完整的web框架
1 ?socket 服务端
2 ?根据不同的url 调用不同的 函数 ?实现不同的逻辑
3 ?返回内容给客户端
? 模板渲染 字符串替换
python 框架
???tornada ??1+2+3 ??第三方的服务端 + 第三方返回内容 + 第三方的 url逻辑
???django ??大而全 ???第三方的服务端 ?+ 自己写的返回内容 ???+ ??自己写的 url逻辑
???flask ???小而美 ????第三方的服务端 + 第三方返回内容 + 自己写的 url逻辑
web 应用 ???web server ??????WSGI 协议
django简介
# ?django 安装
???pip3 install django
# ?创建一个django project
django-admin.py startproject mydj ???manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。 ???settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。 ???urls.py ----- 负责把URL模式映射到应用程序。 ???wsgi.py ----- ??WSGI 协议 ???web 应用 ?????web server ??????????WSGI 协议 ???django ???不需要写socket ?---url---(返回内容)页面的关系request 代表了所有请求的相关内容 ???????1 request.method ???????2 request.POST.get("键")新手三件套: ???from django.shortcuts import HttpResponse ???return ??HttpResponse render(reqeust,demo.html,{{}}) ??redirect模板语言 :{% for i in xx %} ???{{i}}{% endfor %}{{变量名}}html 文件 地址 dir 配置静态文件 css 图片 ?地址配置注释掉 ?srfv
Django基础---web框架 和 django 介绍
原文地址:http://www.cnblogs.com/big-handsome-guy/p/7894925.html