后端开发 (1)
来源:互联网 发布:西绪福斯 知乎 编辑:程序博客网 时间:2024/06/17 06:43
后端开发
- HTTP (HyperText Transfer Protocol)
- Python 系常见 Web 框架
- Django
- 大而全,内部耦合比较紧凑,插件丰富,适合快速开发
- Flask
- 精而简,便于二次开发和扩展开发,生态环境好,插件丰富
- Tornado
- 异步处理,性能优异
- Falcon
- 适合做 API 服务
- web.py
- 代码优秀,适合学习
- bottle
- 单文件框架
- Django
- 点击一个链接后, 都发生了什么
- 浏览器解析
- DNS 解析
- 建立 TCP 连接
- 浏览器发送请求文本
- 服务器执行程序
- 服务器返回响应文本
- 客户端接收
- 客户端关闭连接
- 客户端渲染页面
- 最简单的 Server
- HTTPServer: 只负责接收和关闭连接
- WSGI: 沟通 HTTPServer 和 Web 应用程序 之间的接口
- Web 应用程序
- cookie 和 session
- 异同
- session 在服务器端, cookie 在客户端(浏览器)
- session 默认被存在在服务器的一个文件里(不是内存)
- session 的运行依赖 session id, 而 session id 是存在 cookie 中的, 也就是说, 如果浏览器禁用了 cookie , 同时 session 也会失效(但是可以通过其它方式实现, 比如在 url 中传递 session_id)
- session 可以放在 文件、数据库、或内存中都可以。
- 用户验证这种场合一般会用 session
- 产生
- 使用
- 异同
- GET 和 POST
- 表象
- GET在浏览器回退时是无害的, 而POST会再次提交请求。
- GET产生的URL地址可以被Bookmark, 而POST不可以。
- GET请求会被浏览器主动cache, 而POST不会, 除非手动设置。
- GET请求只能进行url编码, 而POST支持多种编码方式。
- GET请求参数会被完整保留在浏览器历史记录里, 而POST中的参数不会被保留。
- GET请求在URL中传送的参数是有长度限制的(URL 的最大长度是 2048 个字符), 而POST么有。
- 对参数的数据类型, GET只接受ASCII字符, 而POST没有限制。
- GET比POST更不安全, 因为参数直接暴露在URL上, 所以不能用来传递敏感信息。
- GET参数通过URL传递, POST放在Request body中。
- 深层
- GET产生一个TCP数据包;POST产生两个TCP数据包。
- GET, 浏览器会把 http 的 header和data一并发送出去, 服务器响应200(返回数据);
- POST, 浏览器先发送 header, 服务器响应 100 continue, 浏览器再发送data, 服务器响应200 ok(返回数据)。
- 表象
- Python 环境加载
- sys.argv
- sys.path
- os.environ
- Django 中间件
- process_request
- process_view
- process_response
- process_exception
- 执行顺序
- process_request, process_view 正向执行
- process_response, process_exception 反向执行
- 模板
- jinja2
- HTML
- css
- js
- ORM
- 什么是 ORM
- CURD (Create/Update/Retrieve/Delete)
- 项目
- 代码结构
- 常用组件
- nginx
- redis
- pickle 序列化
- memcached
- MySQL
- insert
- update
- select
- delete
- drop
- join
- like
- apt-get yum
- Blog
- 看文章
- 写文章
- 查看文章列表
- 根据题目搜索文章
- 可以评论
- 其他扩展
- 实现分页功能: 首页文章列表每页显示 5 篇文章
- 写一个中间件, 阻止 ip 地址的尾数是偶数的访客
- 写一个装饰器, 将阅读文章的用户IP记录到日志文件中
- 阅读计数,独立 ip 计数
- 实现一个基于 redis 的文章缓存
- 使用 gunicorn 驱动 Django, 对比性能差异
- 文件描述符
- 单台服务器最大连接数
- TCP 连接上限
- 静态文件存储
- 什么是 CDN
- 分布式文件系统
- RESTful
- URI 对应一个网络资源
- 四个动词:GET / POST / PUT / DELETE
- 用四个动词操作网络资源
阅读全文
0 0
- 后端开发 (1)
- django 后端开发思路(1)
- 第三章 Joomla!扩展开发--后端开发(续1)
- 书单|后端开发书架
- Android开发-后端Model_Service
- web后端开发资源
- web后端开发资源
- 后端开发学习书籍
- web后端开发-瞎聊
- 后端开发面试题
- 后端开发书单
- 后端开发面试题
- 前后端分离开发
- Java后端开发门类
- APP开发后端服务器
- LLVM后端开发
- 什么是后端开发?
- Java后端开发
- c++类实例在内存中的分配
- AndroidStudio的简单计算器(带优先级)开发小程序~
- 自定义view基础
- Postgresql如何使得查询语句输出到文件
- C++中的类所占内存空间
- 后端开发 (1)
- 下拉刷新获取数据的小程序
- js 颜色格式rgb->16进制的转换
- python线程
- (POJ 2367)Genealogical tree [top序列] 入门
- base64图片以blob保存到数据库
- 中小型电商适不适合做seo
- javascript 通过地址栏实现页面间传值(1)
- Django的全文检索功能(一):haystack全文检索的框架