socket+django
1.socket
网络上任意两个程序之间要进行通信,需要依靠socket(端口)。socket封装了TCP/IP协议,让网络通信基于TCP/IP协议的形式实现。
socket可以翻译为插座,那么一个服务器就拥有很多个“插座”,不同的“插座”可以实现不同的服务(应用程序)。在一台计算机上面,每个独立的应用程序
(比如qq,微信,浏览器等)都占用着一个端口,不管是发出请求还是接收数据,都可以查看到IP和端口号。
2 socket编程的局限
基于socket的网络编程,可以让我们实现在多个不同客户端服务端之间的通信,传输数据(请求request和响应response)
但是网络上传输的数据千奇百怪,场景也非常多,因此很多时候需要对请求和响应的数据进行解析(比如通过对request进行解析,可以在请求头找到传输的协议,
url等信息),这一部分非常麻烦并且具有高度重复性。这时候,才需要各种各样的web框架来辅助实现。
3 web框架(django)
由于近来在学django,就只说这个了。
django内部并没有socket,而是需要从socket那获取请求数据进行解析,然后再产出响应的数据字符串给到socket,socket再发回给客户端。
django中,通过wsgi实现框架与Web服务器之间的连接。
通过下图,更加形象地理解django框架的实现过程。
  
后续待补充......
socket+django的更多相关文章
- Django与socket
		
Web框架本质是socket 各种socket一般都遵循wsgi协议 Django里面没有socket Django映射到Web框架,用了一个别人的socket:wsgiref 所以:django默认 ...
 - 源码解析Django CBV的本质
		
Django CBV模式的源码解析 通常来说,http请求的本质就是基于Socket Django的视图函数,可以基于FBV模式,也可以基于CBV模式. 基于FBV的模式就是在Django的路由映射表 ...
 - day051 Django创建
		
Django的下载安装 下载Django: pip3 install django==1.11.14 创建Django project(项目) 步骤1: 步骤2: 步骤3: 配置settings属性 ...
 - python web框架 django wsgi 理论
		
django wsgi python有个自带的wsgi模块 可以写自定义web框架 用wsgi在内部创建socket对象就可以了 自己只写处理函数就可以了django只是web框架 他也不负责写soc ...
 - python web框架 django 工程 创建 目录介绍
		
# 创建Django工程django-admin startproject [工程名称] 默认创建django 项目都会自带这些东西 django setting 配置文件 django可以配置缓存 ...
 - python django框架(一)
		
s4day63内容回顾: 1. 安装 2. 创建用户 + 授权 3. 连接 - 数据库 终端创建数据库(字符编码) - 数据表 终端 ORM pymysql create ...)engine=inn ...
 - Django组件---Django请求生命周期和中间件
		
Django组件---Django请求生命周期和中间件 Django请求生命周期 说明: client代表浏览器,浏览器的内部为我们封装了socket,Django的WSGI模块也为我们封装了sock ...
 - Django 查漏补缺
		
Django 查漏补缺 Django 内容回顾: 一. Http 请求本质: 网络传输,运用socket Django程序: socket 服务端 a. 服务端监听IP和端口 b. 浏览器发送请求 ...
 - python web django base skill
		
web框架本质 socket + 业务逻辑 框架实现socket tonado node.js 使用WSGI实现socket django flask 自己实现框架思路 wsgiref socket ...
 
随机推荐
- XDU1024简单逆序对(贪心||分治)
			
题目描述 逆序对问题对于大家来说已经是非常熟悉的问题了,就是求i<j时,a[i] > a[j]的组数.现在请你求出一串数字中的逆序对的个数,需要注意的是,这些数字均在[0,9]之内. 输入 ...
 - zw版【转发·台湾nvp系列Delphi例程】HALCON BitXor
			
zw版[转发·台湾nvp系列Delphi例程]HALCON BitXor procedure TForm1.Button1Click(Sender: TObject);var image0, imag ...
 - Oracle性能优化之HINT的用法
			
1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...
 - Java基础语法(基本语句)
			
Java基础语法 标识符在程序中自定义的一些名称.由26个英文字母大小写,数字:0-9符号:_&组成定义合法标识符规则:1. 数字不可以开头2. 不可以使用关键字Java中 ...
 - Hive配置文件中配置项的含义详解(收藏版)
			
这里面列出了hive几乎所有的配置项,下面问题只是说出了几种配置项目的作用.更多内容,可以查看内容 问题导读: 1.hive输出格式的配置项是哪个? 2.hive被各种语言调用如何配置? 3.hive ...
 - PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word
			
PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0步骤:1. 为指定的数据库配置mysql的ODBC数据源先下载 ...
 - jquery基础框架
			
(function(window,undefined){ var arr = [], push = arr.push, slice = arr.slice; //首先要做的就是封装一个parseHtm ...
 - Python入门之Python的单例模式和元类
			
一.单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在. 当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上 ...
 - 20145118 《Java程序设计》 实验报告二
			
实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...
 - 20145122 《Java程序设计》第8周学习总结
			
教材学习内容总结 1.NIO使用频道(channel)来衔接数据节点,对数据区的标记提供了clear(),rewind(),flip(),compact()等高级操作. 2.想要取得channel的操 ...