博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django之http协议、django基础-56
阅读量:5735 次
发布时间:2019-06-18

本文共 2794 字,大约阅读时间需要 9 分钟。

一.Web应用程序

1.web应用程序介绍

Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.    应用程序有两种模式C/S、B/S.其中C/S是客户端/服务器程序,也就是说这类程序一般独立运行.而B/S就是浏览器/服务器应用程序,这类应用程序一般借助IE等浏览器来运行,WEB应用程序一般是B/S模式.Web应用程序首先是"应用程序",和用标准的程序语言,而Web应用程序又有自己独特的地方,就是它是基于Web的而不是采用传统方法运行的.

2.B/S架构优点

浏览器/服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上,成为越来越多的企业的选择。浏览器/服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点:1.这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的Web服务和数据库服务可以对数据进行处理。对外采用标准的通信协议,以便共享数据。2.在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载。 3.在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。不再需要为客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,直接安装一套浏览器,就可以实现服务器上数据的访问。而浏览器是计算机的标准设备

3.基于SOCKET写一个应用

py文件

import socketimport timedef server_run(): soc = socket.socket() soc.bind(("127.0.0.1",8080)) soc.listen(5) while True: conn, addr = soc.accept() data = conn.recv(1024) print(data) now = time.strftime("%Y-%m-%d %X",time.localtime()) with open("index.html","r",encoding="utf-8") as f: new_data = f.read() new_data = new_data.replace("###123###",now) conn.send(("HTTP/1.1 200 OK\r\n\r\n%s"%new_data).encode("utf-8")) conn.close() if __name__ == '__main__': server_run()

html文件

  
index ###123###

二.HTTP协议

1.http协议简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

2.http协议特性

1.基于TCP/IP协议之上的应用层协议2.基于请求-响应模式3.无状态保存4.无连接

3.http请求协议与响应协议

http协议包含浏览器发送数据到服务器需要遵循的请求协议与服务器发送数据到浏览器需要遵循的请求协议.用于HTTP协议交互的信被为HTTP报文。请求端(客户端)的HTTP报文 做请求报文,响应端(服务器端)的 做响应报文。HTTP报文本身是由多行数据构成的字 文本。

请求格式:

响应格式:

响应状态码

​ 状态码的职 是当客户端向服务器端发送请求时, 返回的请求 结果。借助状态码,用户可以知道服务器端是正常 理了请求,还是出 现了 。状态码如200 OK,以3位数字和原因 成。数字中的 一位指定了响应 别,后两位无分 。响应分别有以下5种。

  类别 原因短语
1XX Informational(信息性状态码) 接收的请求正在处理
2XX Success(成功状态码) 请求正常处理完毕
3XX Redirection(重定向状态码) 需要进行附加操作以完成请求
4XX Client Error(客户端错误状态码) 服务器无法处理请求
5XX Server Error(服务器错误状态码) 服务器处理请求出错

三.Django简介

1.MVC与MTV模型

Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:

Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值: M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。 T 代表模板 (Template):负责如何把页面展示给用户(html)。 V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。 除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:

2.Django的下载与基本命令

(1)下载Django方式一:在命令行输入:pip3 install djangopip install django==1.11.9 -i http://pypi.hustunique.org/simple 指定版本号,指定国内镜像方式二:用pycharm安装方式三:用pycharm的Terminal的命令行安装
(2)创建一个django projectdjango-admin.py startproject 项目名
posted on
2018-12-27 20:45 阅读(
...) 评论(
...)  

转载于:https://www.cnblogs.com/jokezl/articles/10187215.html

你可能感兴趣的文章
基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持...
查看>>
用原型继承方法
查看>>
JPG、PNG和GIF图片的基本原理及优…
查看>>
linux内存条排查
查看>>
解决cacti监控windows网卡带有中文
查看>>
梁念坚:“云计算”福音
查看>>
管理软件的飞跃:像用自来水一样用
查看>>
四块固态硬盘联合刷新PCMark05世界记录
查看>>
浅析信息化时代 医院混合云建设模式
查看>>
Gigamon针对AWS引入全面可视化平台
查看>>
DTCC2015议程曝光 最新嘉宾议题揭秘
查看>>
BAT、IBM、亚马逊、微软等一线互联网的区块链版图布局
查看>>
智能合约:开启一个新经济时代
查看>>
[翻译] JavaScript函数的6个基本术语
查看>>
vue静态资源打包中的坑与解决方案
查看>>
Lc 895. Maximum Frequency Stack 最大频率栈 JS
查看>>
j2ee分布式架构 dubbo + springmvc + mybatis + ehcache + redis 技术介绍
查看>>
Write Your Own Gemspec
查看>>
PlaNet,使用图像输入来学习世界模型
查看>>
Oracle 字符集的查看和修改【下】
查看>>