简介
    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图片等不常变化的。
    模板中的条件控制,可以让模板根据不同场景动态生成样式