简介
1 安装特定版本,用pip install tarnado==1.1(版本号)linux的环境下
2 socket 用来做网络数据的收发,提供一个接口,进入系统层的TCP/IP协议栈,使用其提供的功能。
通过socket模块使用协议栈。
例如微信、QQ底层的实现原理都是基于socket来进行网络数据的读写。
3 局域网和广域网都是相对的概念
4 两台计算机之间的通信
需要物理网络
A发起数据,通过物理网络发出,被B接收,
计算内部有一个协议栈(一种软件),常用的有TCP/IP 存在于系统层,系统层有一个缓冲区
5 网络传递的都是数据,
6 网页就是一个文件,文件不能直接发送。可以使用文件的读写方法
7 HTTP协议是应用层协议,基于TCP/IP协议的
8 浏览器又成为用户代理
9 通过域名可以找到计算机的地址
IOLoop模块(重点掌握)
1 IOLoop是事件循环,事件就是读写事件,就是读写循环,读就是收,发就是写
2 IO多路复用,可以同时监控多个读写时间,只有有其中一个事件触发了,就对其处理,也可以同时处理多个事件
3 无阻塞,是指打开文件后,马上返回,不用等文件读取完再返回。异步是指读操作让操作系统去实际处理即可,
处理完后会返回已完成信息。用户进程可以去做其他事情。
4 HTTP客户端,可以理解为浏览器
5 get请求是获取资源,post是提交请求(例如提交用户名、密码,然后登录)
6 url中?后面的是get请求的参数
Tornado路由配置
Tornado.web.Application
1 语法:Application([(url,RequestHandler,dict(name=value)),],settings)
2 参数名 描述
url 定义请求的URL
RequestHandler 请求处理对象,用来定义与URL访问相关的读写操作
dict dict中的键值作为实参传递给RequestHandler中的initialize函数
settings 定义了项目的配置信息,比如开发模式,静态目录,模版目录等(类似三层架构)
URL路由配置**
1 Tornado中的URL路径以/进行分隔,单独的/表示服务器根目录。在URL中还可以定义正则表达式:
urls=[
(r”/“,IndexHandler),
(r”/question/(\d+)/?”,QuestionHandler),
(r”/perosnal/(\w+)/?”,PesonalHandler),
(r”/explore/(\w+)/(\d+)/(\w+)/?”,ExploreHandler)
]
2 url中的正则子模式,将作为参数传递给RequestHandler的HTTP请求方法。
例如url/question/(\d+)/中的子模式(\d+),
模块文件为HTML文件
静态目录保存的一般是css样式、logo图片等不常变化的。
模板中的条件控制,可以让模板根据不同场景动态生成样式
