2020-01-06

{% load staticfiles %}
{% static 静态资源 %}

Ajax - Asynchronous JavaScript and XML

YAML
JSON - JavaScript Object Notation

{
"from": "Jack",
"to": "Tom",
"content": "Hello, world!"
}

<?xml version="1.0" encoding="utf-8"?>
<message>
<from>Jack</from>
<to>Tom</to>
<content>Hello, world!</content>
</message>

CSRF ---> 跨站请求伪造 ---> {% csrf_token %}
Cross Site Request Forge

HTTP协议是无连接无状态协议 ---> 两次请求之间不会保存用户的任何数据
再次请求服务器的时候 服务器无法得知请求是来自哪个用户的请求

一般情况下服务器应用都需要记住用户来为用户提供更好的服务

用户跟踪 ---> 如果希望服务器记住用户可以使用以下三种辅助方式:

  1. URL重写 http://www.baidu.com/?uid=xxxxxx
  2. 隐藏域(隐式表单域)---> 埋点
    <form>
    <input type="hidden" name="uid" value="xxxxxx">
    </form>
  3. 浏览器本地存储
    ~ cookie - 浏览器中的一个临时文件可以保存键值对
    cookie中的数据在发起HTTP请求时会自动加载请求头中
    ~ window.localStorage / window.sessionStorage

cookie和session的关系
request.session ---> 服务器内存中的一个对象,可以保存用户数据
cookie ---> 用户浏览器临时文件 ---> cookie中保存了session的ID

BASE64编码 ---> 用64个文字符号表示任意二进制数据
原理:将原来的三字节每6个比特一组变成四个字节
用A-Z、a-z、0-9、+和/一共64个字符来代表一个字节

Python ---> base64模块 ---> b64encode() / b64decode()
JavaScript ---> window ---> btoa() / atob()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文/明道创始人:任向晖 微信用于工作,这已经不是个人选择的问题了。无论有你有多少痛点、槽点,只要你的同事、客户、供...
    老树之见阅读 704评论 0 9
  • 我很认真, 希望把每一天过好, 无论是乌云蔽日, 还是晴空万里, 我很努力, 希望不辜负每一天的日出, 无论生活报...
    _然而阅读 107评论 0 0
  • 醉过 罪过 最过 风的轻柔掠过城市的硬度 与你相遇 在佳东的这个夏天 我深情的和你对望 隔着一张桌子的距离 一眼万...
    清语宛如阅读 405评论 4 2