Session

Session的由来

Cookie虽然在一定程度上解决了“保持状态”的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且他保存在服务器,有较高的安全性。这就是Session。

问题来了,基于HTTP协议的无状态特征,服务器根本就不知道访问者是“谁”。那么上述的Cookie就起到桥接的作用。

我们可以给每个客户端的Cookie分配一个唯一的id,这样用户在访问时,通过Cookie,服务器就知道来的人是“谁”。然后我们再根据不同的Cookie的id,在服务器上保存一段时间的私密资料,如“账号密码”等等。

总结而言:Cookie弥补了HTTP无状态的不足,让服务器知道来的人是“谁”;但是Cookie以文本的形式保存在本地,自身安全性较差;所以我们就通过Cookie识别不同的用户,对应的在Session里保存私密的信息以及超过4096字节的文本。

另外,上述所说的Cookie和Session其实是共通性的东西,不限于语言和框架。

aaarticlea/png;base64,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ByJABIgAESACRIAIEAEiQASIQJgJRJ0DRq/XsxNmmoqLi2E0GsOMk5ojAqETqKurA5uPbF4WFRVRcKLQEVINIkAEiAARIAJEgAgQASJABIjAgCcQdQ4YAA6e539lI7N69eoBP0CkYOQTEOchx3Er2fyMfIvJQiJABIgAESACRIAIEAEiQASIQPQRiEYHDBvln9k/a9asib4RJ4sHHAFxHjqdTmFeDjgFSSEiQASIABEgAkSACBABIkAEiAAR6DGBqHTAiC+64otvjylSA0SgBwTEecjzPDlgesCRqhIBIkAEiAARIAJEgAgQASJABAYygah0wBgMht08z1eWlpaivLx8II8P6RbhBNj8KysrY1ZWlJSU7Ilwc8k8IkAEiAARIAJEgAgQASJABIhA1BKISgcMAJ7juB/YqP/4449RO/hkeP8TEOef0+lk85Hvf41IAyJABIgAESACRIAIEAEiQASIABHoDQLR6oBhLD9n//z000+9wZXaJAJBERAdMBKJRJiPQVUiISJABIgAESACRIAIEAEiQASIABEYdASi1gHTEQem+a+//kJ9ff2gGzhSePATYMegb9y4kRnS7HQ6fxn8FpEFRIAIEAEiQASIABEgAkSACBABItAVgah1wJSUlLTzPP+t0+mkVTBdzQ7K71UCbPUVm388z3/D5mOvdkaNEwEiQASIABEgAkSACBABIkAEiEC/EohaBwyjzvO8sO3j22+/7ddBoM6jk4A473ieXxadBMhqIkAEiAARIAJEgAgQASJABIhA9BCIagdMW1vb12z7x+rVq1FdXR09o06W9jsBNt86jp82d8zDfteJFCACRIAIEAEiQASIABEgAkSACBCB3iMQ1Q6YmpqaFqfT+THbBrJ8+fLeo0wtEwEfAsuWLRO2HwH4mM1Dn2J6JAJEgAgQASJABIgAESACRIAIEIEIIxDVDhg2lhzHvcXu7IWY5+kU4Aib3wPSHDbP2HzruIT5Jz7QnQgQASJABIgAESACRIAIEAEiQAQik0DUO2CKi4v/5Hlev2/fPmzZsiUyR5msGlAE2DwrKipiOhXp9fpVA0o5UoYIEAEiQASIABEgAkSACBABIkAEeoVA1DtgWCxejuMWM7pLlizpFcjUKBHwJLB4sTDdWBZL0LIrTziUJgJEgAgQASJABIgAESACRIAIRCgBcsAALBbHywDM33//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C44QQAABBBBAAAEEEEAAAQQQQACBThEgANMprBSKAAIIIIAAAggggAACCCCAAAIIbBcgALPdgiMEEEAAAQQQQAABBBBAAAEEEECgUwQIwHQKK4UigAACCCCAAAIIIIAAAggggAAC2wUIwGy34AgBBBBAAAEEEEAAAQQQQAABBBDoFAECMJ3CSqEIIIAAAggggAACCCCAAAIIIIDAdgECMNstOEIAAQQQQAABBBBAAAEEEEAAAQQ6RYAATKewUigCCCCAAAIIIIAAAggggAACCCCwXYAAzHYLjhBAAAEEEEAAAQQQQACBoASmTJkiBx10kPz8889B5dvZxMOHDxf9vPrqqztbFPlDINBdvwN/Vef34U+me88TgOlef+6OAAIIIIAAAggggAACvVhg06ZNUllZaT69uBlUfScFwul34HQ6Zfny5TspQnZfApG+TnIOAQQQQAABBBBAAAEEEEAgsMC7774rVVVVkpaWFjgxKcJWIFx+BwsWLJBp06ZJdXW1rFu3LmyfV3c1jABMd8lzXwQQQAABBBBAAAEEEOj1AjExMaIftl1bIFx+B1u2bDHBl137aXZe6xmC1Hm2lIwAAggggAACCCCAAAKdJLB+/Xq59tprzfwre+65pxxxxBHyxhtvtLpbTk6OXHXVVTJ69GjZa6+95PTTT5e33367VZpA5QS67muuje+//16mTp1q7qt1O/744+WZZ54RHdphbVa+F198UaZPny5jxowxdbzoootkw4YNVrJ273UuGKvM119/3Z2vLQMdZmLlefPNN915Fi9ebM5r3UtLS93ne+JBoOejdW7LwGpToHICXbccPefk6arfwVdffSVnnnmm+f2MHTtWXnnlFatZ7n19fb088MADcuqpp5p0++67r1xwwQXy3XffudNoG/7xj3+0+q7nrK09ZVhp2fsWIADj24WzCCCAAAIIIIAAAggg0IMFrrjiCnnvvfektrZW9t57b7HZbOZF26qyDp84++yz5aOPPpLk5GTJysoyE+Vef/318tZbb1nJJFA5ga67C2o5WLlypZx33nny2WefSWxsrIwcOVIKCgrkkUcekb/97W/eyeWpp56ShQsXSt++faWxsVH0ZfqOO+7YIV1bJ7T8++67zyTRyWDPOecccxzIQCcPHjFihEmrQ0+s7cMPPzSH48aNk379+lmne+Q+0PMJZGA1KlA5ga5b5Vj7rvodLFu2TC699FL54YcfJCEhQfr3728CelY9rL32bHnuuedM7xYNRtrtdlm6dKnJW1lZZZIdfPDBMmzYMCuL6Hf9WFt7yrDSskcAAQQQQAABBBBAoMsEsrOzXfphQwCBbQLLxj/k0k+otpEjR5p/xx5++GF3keXl5e7jyy67zFy/6aab3Ofuuecec+7UU091nwtUTqDr1r/rs2fPNmVeeOGF5h5nnHGGq6GhwZz73//+Z85p2rVr15pzVj5N73A4zLkrr7zSpNtvv/3M97b+YeWfNWuW67zzzjP5dN/c3OzO1h6DF154weQdNWqUu75HHnmkOffhhx+6y+qpB4GeT3sMtG2Bygl03XoeXf07mDJlinlWp5xyiqumpsY8pnnz5plzWierPhUVla6VK1e6H2NeXp47jedz1vRWW9yJWw7aW4Z3vs78HsyfK1a7uux/BHzciB4wPlA4hQACCCCAAAIIIIAAAj1b4LTTTjMVfPbZZ0WH7WivFu3pYm3ffvutOZw7d657mM3MmTPNOR2SYm2Bygl03SrH2q9atcocar7o6GhzrMM+rG316tXWodmffPLJEhGx7bXssMMOM+d0AlRr02Einh/rvLWfNWuWaC+IpKQkefrpp03PButaewzOOussM4dNTU2NfPPNN6LDZnS4TWpqqpxwwglWUT12H+j5tMdAGxeonEDXvYG66ndgDSGaOHGixMXFmWpMmDDBuzoSHx9nnq0OjTvxxBPNcDwrUVlZmXXY5j4UZbR5g13gIpPw7gIPmSYigAACCCCAAAIIIBBuAv/85z/l2GOPFZ3vRIft6GfRokVmqI+2tampyTRZh1TosAx/W6ByAl33Ltea5yUqKsp9yeFwuI8jI1u/gnmm8zy2MugwkbY2HVr166+/mmWwlyxZKqedtj3Y0x4DDVppgGjevHkyf/58dxBLX+J1mEpP3wI9n/YYaBsDlRPourdTV/0OdNiablYQT491rhbv7YYbbjBBSv296JClzMxMufjii72Ttfk9FGW0eYNd4CI9YHaBh0wTEUAAAQQQQAABBBAINwGd22P8+PGik9heeeWVpnnvv/++u5k6gaxu++yzj8yePVtee+0183nhhRfk+eefd6cLVE6g6+6CWg5GjRpljj7++GOxAi86V41u+pJ84IEHtqRs307v7/nxznXUUUeZHjJ6/qab/i75+fnuJO01uPDCC00eDWDp3DW6nXvuue5yevJBoOfTXoNA5QS67m3UVb8Da84WnbfH+r35moT3gw8+MFWcNGmS/O53vxOXy+VdZfPdM5CzcePGVmnaW0arTHxpJdA6/NrqEl8QQAABBBBAAAEEEEAAgZ4poEN3srOzJTExUX766SdTSZ2M19p0haTLL7/cTNSrw1AyMjKkrq7OTNSrQ5F0tRjdApUT6Lp1P2uvk/zqkCjtuXL00UebSWzXrFljLv/+97+X9PR0K2nI9rfeeqvpAVRYWGhWffrf//5nhhW118CajHft2rUmSKQTB+tErb1hC/R82msQqJxA172tuup3oL8pnbRZhyLppMkpKSmtJqO26jVgwAApKiqSJ554QjRYo8PMfG1WwEqv6cpKWp41KXN7y/BVLue2CdADhl8CAggggAACCCCAAAII9DqBY445RsrLy828FhqE0blMdD4YazvuuONEe7sceuihZqUknZOjpKTEDFvSYRjWFqicQNetcqy9zuOiPW40wFNRUSG//PKLCRTdfvvtctttt1nJQrrXuT90iIz2Xvj555/dqyi110ArM3nyZFMnHTqjvSR6yxbo+bTXIFA5ga57e3XV70BXvbrppptk8ODB5vetz09XO/LeHn74YbPilV7XYVk6X5Cv7YADDpDrrrvOBF50bhgNWlpbe8uw0rPfUcC24ynOIIAAAggggAACCOysgK62oGVot3U2BBAQWT7hYcNw0Ds3wNEDBT799FO57LLLROehWbx4sXkB74HVpEoItBII5s+V4cOHm7w5OTndFgehB0yrx8cXBBBAAAEEEEAAAQQQQGDXEtBeETNmzDCN1gl5ddgJGwIIhF6AOWBCb0qJCCCAAAIIIIAAAggggECvENB5anTT+UF0KNe0adN6Rb2pJAK9UYAeML3xqVFnBBBAAAEEEEAAAQQQQCAEAjU1NbJhwwbRVXtefvllGTJkSAhKpQgEEPAlQA8YXyqcQwABBBBAAO0VgH4AABbeSURBVAEEEEAAAQR2AYFly5btAq2kiQj0DAF6wPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggggAACCCDQMwQIwPSM50AtEEAAAQQQQAABBBBAAAEEEEAgjAUIwITxw6VpCCCAAAIIIIAAAggg0H4Bp9MpS5YskTvvvFOam5t3yJiTkyNXXnmljB49Wvbaay+58MILpaCgwJ3urrvukjFjxsgee+wh48ePlxUrVrivtXWg6YYPHy41NTVtJdvh2vr16+WYY44RrXcwm3W/hoaGYLJ1a9q7775b9t9/fykqKjL1sNrwxRdfGLve1JZQQrbHoT1pQlmntsryVZePPvpIDjnkEJk1a1ZbWcPiGgGYsHiMNAIBBBBAAAEEEEAAAQR2VuCwww6Ta665Rl5++WVxOBw7FDd//nzRNJ9++qnoi390dLT85S9/cac78MADZcGCBbJ06VLZe++9TbDG5XK5r4f6YPDgwfLZZ59JRER4v9atW7dOXnzxRXn88cdlyJAhoWakvG4WOPHEE+Wyyy6Te++9N+hgYjdXPejbRwadgwwIIIAAAggggAACCCCAQBgKzJgxQ5qamuTcc8/12bo//vGPrYIdU6dOlUsvvdS8NGoQRHu9WNvEiRPlrbfeEg3A2Gw26zT7DghUVFSYXAcffLA7t5qqufVxX9jFDtrj0J40XcXmqy76DLXnWGNjo9TV1Ul8fHxXVafL7xPeodIu5+SGCCCAAAIIIIAAAggg0FsFRo0a1WbV9UXRcyspKZGUlJRWQRkNuBQXF8sLL7wgkydPdl8rKysTDeDo0KVx48bJU089tcPQmeXLl8vpp58uI0eOlJNOOsk9hMkatjFnzhzRXjbTp0831bDOW0OXZs6caYZy6D2sNJpw69atcvnll5teOUcddZTpvePZjvbUzTN9Vx9bvYj05d3adBjYb7/9JkcccYTZx8TEGC/voVyWkTVEyZ+RXr/99tvN8LJ9993X9ISqrKwyt7PK8PS3zmlPKOuZnXzyybJ69WqrivLll1+aa3vuuad55tpbSTcr79y5c83zOvTQQ03a5557ztxfA03a28ra2qqbLwcdmnbccce5e5N4p6mqqjK/sU8++cS6hQl87LfffqZHlVU/63flWWfLMVDb/Ll410Wfm26ez9ZdqTA8aP0nSBg2kCYhgAACCCCAAAIIIIAAAqEW0Dli9GX+ggsucBetL50jRowwL9s6hOnmm292X5s2bZroi+/nn38u+uLt+fJrJdKhT88//7x88803kp6eLrfccot1yey/+uorWbRokfz1r9Nandcv+fn5ZgjHo48+KsuWLRPtgWNtem/tRaIBgDfeeGOHAEx76maV1dV7Db7okK7U1FSJi4vbqdu3ZXTTTTfJjz/+KO+9954x1qDUXXfd2ep+vvxfffVVE2zTZ7bbbru1eubV1dVy3333maDM8ccfL3fccUer8n755RcznE2DSNdff73k5uaaQMwJJ5xg8lmJ21M3K63udWia/r68A4ZWmrS0NNF7zJs3zzol77//vgkmHn300e5zbR0EaltbLr7K1d+73W43v31f18PlHAGYcHmStAMBBBBAAAEEEEAAAQS6TECDI/qCe/XVV7vvqb1LtFfGBx98IKWlpXLDDTeYa3qsgRN9kR4wYIAMGjTI9LBwZ2w50ICNvsT37dvXDG1au3atuxeDJvnTn/4kCQkJkpSU6J1VoqKiTC8C7X2jQzgOOOAAk0Z76WjgRcvWe+vHs87trdsON+yiE1r3Rx55RO65556dvqM/IzV455135K677jbBCw326PCyjz/+uNU9ffnfeOONxlSf2cUXXywaVLEmRT7llFPMhMx6LjEx0Uwg7Dm58yWXXGKe1VlnnSUa8NEJnvXZTZgwwUzurEG89tatVUXb8eV3v/udLFy40D3xswbmzj///Hb3RAnUtrZcfFVPf5cahFLjwsJCX0nC4hxzwITFY6QRCCCAAAIIIIAAAggg0FUCuiKPDhfSISnWEArr3hqU0VWQrrvuOvNCrS/jGhTRLTt7uJVMkpOT3cfWgQZmrE0DLdr7Q+eksbZhw4ZZhzvstdfDww8/LA8++KDpmaMrMunQFh2OoltWVrY7T1JSkvu4vXVzZ+jiA+2RcdVVV5keITrEZ2c2f0ZqoNZnnDFhh+J1XhJr8+Xfv39/67J5ptYz09/FAw88YHocaTAsNjbWpPOc3FkDPbpZc55oEEI3K60GawLVTSeC7sg2duxYE2zSYKFOLL1y5Up58skn211UoLa15eLrJjpM7oknnjATLWdkZPhKEhbn6AETFo+RRiCAAAIIIIAAAggggEBXCGiAQ4cR6RALHcrR1hYZGWl6yVgBj40bN7iTW4ER94l2HASaJ0N7UmhPm8MPP9zdyyXQvQNdb0e1OjWJBrS0Z5EuP11fX9/mvaxghE7kam2VlZXWodn7MrKeo9rpikueH6tMzRzI3/NGOtxJ53R55ZVXzH7SpEmel9t93N66tbtAj4Q6R9Gbb74pr7/+uuhKRP369TNXrTb7cwxV2zyqInl5eWYS3nHj2jcEyjNvbzomANObnhZ1RQABBBBAAAEEEEAAgW4T0PlVdNjGa6+9ZoadeFbk119/NXNqaJBAey3oJLs6TEM37Tmhc8No8Eb/pr+goMC8lHvm39ljDVAsWbLEBHz0ftpzQ3tj6LFOTOvv3l1Rt51tmzWXiWfvEV9lqrHOE6MBBd30WeicOtbmz0h7xugqPHfeeafpMaT3+fHHNWY+FitvsHur55LeU5+5LqPdka0z6mbVQ4NCOmmwDj+68MILrdPmt9qWY6ja5r6hiHvYlt0e3iGK8G6d5xPlGAEEEEAAAQQQQAABBBBoQ0ADFdYS1HvvvbcJXOg5a3v66adN7wgd2qPnrY+uDKMvrNrjYf/99zfLUevKNzpUydo0IKPzsehwD52DRefb0E3nJdnZTQMUGjTQeV722Wcf0cl8dd4Uq8eGDi3ZsmWLGZL05z//udXEwXrvzqzbzrZN81vtCFSWDt3RIJn2TtKhS1OmTDETIlv52jLSZ6uTwOowJzW88cYbTADLyhvsXoNBen991trrRle+6ugWbN28V0Hyd18dBqeT8fbp08f8Lq10gRxD2Tbrnta8Oe191lY+9ggggAACCCCAAAIISHZ2tks/bAggsE1g2fiHXPph2yYwZ84c1+GHH75THAsWLHDtu+++O1WGr8yhqJuvcjt6bv369a7hw4e7Fi5c2NEiyOdH4JRTTnHNmDHDz9WuOe1wOFyPP/64a/To0UHfMJg/V6z/Lnfn/6LQA6Y79bk3AggggAACCCCAAAII7BIC77//gXtlG53wVHuddHRekI0bN5rVa3R+kWOPPXan/UJZt52ujI8CdGUoXSFHl8vWIT1sOy9QXl4uL730kumVZfXG2vlSO1bC/PnzTa8lnTg63DdWQQr3J0z7EEAAAQQQQAABBBBAoNsFcnNz5K677hR98dUVYiZOnGhWSupIxe6//36zRLIOhZo+fXpHimiVJ5R1a1VwCL/o0Cn9sIVGQCdq1sDWs88+616FKTQlB1+KDvva2RWugr9r9+Swdc9tuSsCCCCAAAIIIBDeAtrVWVuoq2mwIYCAyPIJDxuGg965AQ4EEEAgJALB/LlizeeUk5PTbXEQhiCF5LFTCAIIIIAAAggggAACCCCAAAIIIOBfgACMfxuuIIAAAggggAACCCCAAAIIIIAAAiERIAATEkYKQQABBBBAAAEEEEAAAQQQQAABBPwLEIDxb8MVBBBAAAEEEEAAAQQQQAABBBBAICQCBGBCwkghCCCAAAIIIIAAAggggAACCCCAgH8BAjD+bbiCAAIIIIAAAggggAACCCCAAAIIhESAAExIGCkEAQQQQAABBBBAAAEEEEAAAQQQ8C9AAMa/DVcQQAABBBBAAAEEEEAAAQQQQACBkAgQgAkJI4UggAACCCCAAAIIIIAAAggggAAC/gUIwPi34QoCCCCAAAIIIIAAAggggAACCCAQEgECMCFhpBAEEEAAAQQQQAABBBBAAAEEEEDAvwABGP82XEEAAQQQQAABBBBAAAEEEEAAAQRCIkAAJiSMFIIAAggggAACCCCAAAIIIIAAAgj4FyAA49+GKwgggAACCCCAAAIIIIAAAggggEBIBAjAhISRQhBAAAEEEEAAAQQQQAABBBBAAAH/AgRg/NtwBQEEEEAAAQQQQAABBBBAAAEEEAiJAAGYkDBSCAIIIIAAAggggAACCCCAAAIIIOBfgACMfxuuIIAAAggggAACCCCAAAIIIIAAAiERIAATEkYKQQABBBBAAAEEEEAAAQQQQAABBPwLEIDxb8MVBBBAAAEEEEAAAQQQQAABBBBAICQCBGBCwkghCCCAAAIIIIAAAggggAACCCCAgH8BAjD+bbiCAAIIIIAAAggggAACCCCAAAIIhESAAExIGCkEAQQQQAABBBBAAAEEEEAAAQQQ8C9AAMa/DVcQQAABBBBAAAEEEEAAAQQQQACBkAgQgAkJI4UggAACCCCAAAIIIIAAAggggAAC/gUIwPi34QoCCCCAAAIIIIAAAggggAACCCAQEgECMCFhpBAEEEAAAQQQQAABBBBAAAEEEEDAvwABGP82XEEAAQQQQAABBBBAAAEEEEAAAQRCIkAAJiSMFIIAAggggAACCCCAAAIIIIAAAgj4FyAA49+GKwgggAACCCCAAAIIIIAAAggggEBIBAjAhISRQhBAAAEEEEAAAQQQQAABBBBAAAH/AgRg/NtwBQEEEEAAAQQQQAABBBBAAAEEEAiJAAGYkDBSCAIIIIAAAggggAACCCCAAAIIIOBfgACMfxuuIIAAAggggAACCCCAAAIIIIAAAiERIAATEkYKQQABBBBAAAEEEEAAAQQQQAABBPwLEIDxb8MVBBBAAAEEEEAAAQQQQAABBBBAICQCBGBCwkghCCCAAAIIIIAAAggggAACCCCAgH8BAjD+bbiCAAIIIIAAAggggAACCCCAAAIIhESAAExIGCkEAQQQQAABBBBAAAEEEEAAAQQQ8C9AAMa/DVcQQAABBBBAAAEEEEAAAQQQQACBkAgQgAkJI4UggAACCCCAAAIIIIAAAggggAAC/gUIwPi34QoCCCCAAAIIIIAAAggggAACCCAQEgECMCFhpBAEEEAAAQQQQAABBBBAAAEEEEDAvwABGP82XEEAAQQQQAABBBBAAAEEEEAAAQRCIkAAJiSMFIIAAggggAACCCCAAAIIIIAAAgj4F4j0f4krCCCAAAIIIIAAAggggEBoBZZPeDi0BVIaAggg0EsE6AHTSx4U1UQAAQQQQAABBBBAoDcLRGcP6c3Vp+4IINBDBXrTny30gOmhPyKqhQACCCCAAAIIIIBAOAmMenxyODWHtiCAAAJBC9ADJmgyMiCAAAIIIIAAAggggAACCCCAAALBCRCACc6L1AgggAACCCCAAAIIIIAAAggggEDQAgRggiYjAwIIIIAAAggggAACCCCAAAIIIBCcAAGY4LxIjQACCCCAAAIIIIAAAggggAACCAQtQAAmaDIyIIAAAggggAACCCCAAAIIIIAAAsEJEIAJzovUCCCAAAIIIIAAAggggAACCCCAQNACBGCCJiMDAggggAACCCCAAAIIIIAAAgggEJwAAZjgvEiNAAIIIIAAAggggAACCCCAAAIIBC1AACZoMjIggAACCCCAAAIIIIAAAggggAACwQkQgAnOi9QIIIAAAggggAACCCCAAAIIIIBA0AIEYIImIwMCCCCAAAIIIIAAAggggAACCCAQnAABmOC8SI0AAggggAACCCCAAAIIIIAAAggELUAAJmgyMiCAAAIIIIAAAggggAACCCCAAALBCRCACc6L1AgggAACCCCAAAIIIIAAAggggEDQAgRggiYjAwIIIIAAAggggAACCCCAAAIIIBCcAAGY4LxIjQACCCCAAAIIIIAAAggggAACCAQtQAAmaDIyIIAAAggggAACCCCAAAIIIIAAAsEJEIAJzovUCCCAAAIIIIAAAggggAACCCCAQNACBGCCJiMDAggggAACCCDQLoESTVVdXd2uxCRCAAEEEEAAgc4RqKyssgo2/222vnT1ngBMV4tzPwQQQAABBBDYJQRcLtcabeiPP/64S7SXRiKAAAIIINBTBdas2fbfYpfL1a3/Ubb3VCDqhQACCCCAAAII9GaBlJSUSJvNdsbq1atlxIgRkpSULDExMb25SdQdAQQQQACBXiWgPV9Wrlwp06dPl7KyMnE6nfdUVFSs7K5G2LrrxtwXAQQQQAABBBAIc4GIrKyst2w22/gwbyfNQwABBBBAoMcLuFyud3Jzc88UEVd3VZYeMN0lz30RQAABBBBAINwFXFu3bp2TlJRUaLPZkm02W4KIxIV7o2kfAggggAACPUigxOVyLdWeL3l5eTd1Z/ClB5lQFQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFdQ+D/A5aNcBUvR879AAAAAElFTkSuQmCCAA==" alt="" width="753" height="382" />

应用:依赖cookie

作用:保持会话

好处:敏感信息不会直接给客户端

Django中Session相关方法

# 获取、设置、删除Session中数据
request.session['k1']
request.session.get('k1',None)
request.session['k1'] = 123
request.session.setdefault('k1',123) # 存在则不设置
del request.session['k1'] # 所有 键、值、键值对
request.session.keys()
request.session.values()
request.session.items()
request.session.iterkeys()
request.session.itervalues()
request.session.iteritems() # 会话session的key
request.session.session_key # 将所有Session失效日期小于当前日期的数据删除
request.session.clear_expired() # 检查会话session的key在数据库中是否存在
request.session.exists("session_key") # 删除当前会话的所有Session数据
request.session.delete()
  
# 删除当前的会话数据并删除会话的Cookie。 推荐使用****
request.session.flush()
这用于确保前面的会话数据不可以再次被用户的浏览器访问
例如,django.contrib.auth.logout() 函数中就会调用它。 # 设置会话Session和Cookie的超时时间
request.session.set_expiry(value)
* 如果value是个整数,session会在些秒数后失效。
* 如果value是个datatime或timedelta,session就会在这个时间后失效。
* 如果value是0,用户关闭浏览器session就会失效。
* 如果value是None,session会依赖全局session失效策略。

Django中使用session时,做的事:

# 生成随机字符串
# 写浏览器cookie -> session_id: 随机字符串
# 写到服务端session:
# {
# "随机字符串": {'user':'alex'}
# } session中可以存储你想存储的信息,以便在来访问的时候,可以直接从session中读取。

Django中的Session setting中配置

1. 数据库Session
SESSION_ENGINE = 'django.contrib.sessions.backends.db' # 引擎(默认) 2. 缓存Session
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # 引擎
SESSION_CACHE_ALIAS = 'default' # 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置 3. 文件Session
SESSION_ENGINE = 'django.contrib.sessions.backends.file' # 引擎
SESSION_FILE_PATH = None # 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir() 4. 缓存+数据库
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' # 引擎 5. 加密Cookie Session
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' # 引擎 其他公用设置项:
SESSION_COOKIE_NAME = "sessionid" # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
SESSION_COOKIE_PATH = "/" # Session的cookie保存的路径(默认)
SESSION_COOKIE_DOMAIN = None # Session的cookie保存的域名(默认)
SESSION_COOKIE_SECURE = False # 是否Https传输cookie(默认)
SESSION_COOKIE_HTTPONLY = True # 是否Session的cookie只支持http传输(默认)
SESSION_COOKIE_AGE = 1209600 # Session的cookie失效日期(2周)(默认)
SESSION_EXPIRE_AT_BROWSER_CLOSE = False # 是否关闭浏览器使得Session过期(默认)
SESSION_SAVE_EVERY_REQUEST = False # 是否每次请求都保存Session,默认修改之后才保存(默认)
 

最后一个 False默认登录后会话保持三十分钟刷新不刷新都是三十分钟

True 只要是三十分钟内刷新,就可以一直保持登录状态

梳理 1 保存在服务端的数据 (本质是键值对) 2 保存在配置文件中 存储文职 超市事件 每次刷新更新事件 3 request.session 增删 获取随机字符串 主动设置超时时间 优先级高

思考,如果第二个人再次再同一个浏览器上登录,django-session表会怎样?

CBV中加装饰器

from django import views
from django.utils.decorators import method_decorator
# @method_decorator(login_auth,name='get')
# @method_decorator(login_auth,name='post')
class UserList(views.View):
# @method_decorator(login_auth)
def dispatch(self, request, *args, **kwargs):
obj=super().dispatch(request, *args, **kwargs)
return obj @method_decorator(login_auth)
def get(self,request):
return HttpResponse('我是用户列表') def post(self,request):
return HttpResponse('我是用户列表')

Django--Session 操作的更多相关文章

  1. Django session相关操作

    Django session 是存储在数据库中的所以要先跟数据库建立连接 本连接有Django跟数据库建立连接的操作:https://www.cnblogs.com/Niuxingyu/p/10296 ...

  2. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  3. [py][mx]django的cookie和session操作-7天免登录

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  4. django中操作cookie与session

    cookie 什么是Cookie Cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息. Cookie的 ...

  5. Python学习---django下的Session操作 180205

    和Cookie一样,都是用来进行用户认证.不同的是,Cookie可以吧明文/密文的信息都会KV返回给客户段,但是session可以吧用户的Value[敏感信息]保存在服务器端,安全. Django中默 ...

  6. 137.在Django中操作session

    在Django中操作session 在django中session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到 ...

  7. django session

    上周一个新的应用场景,带出来了关于django session管理的问题. 公司的另一个App以Widget的形式嵌入我们的页面,就是我们提供一些url,另一个App通过iframe的形式嵌入这些ur ...

  8. 29.Django session

    session 1.概述 cookie和session的区别 Cookie是保存在用户浏览器端的键值对,Session是保存在服务器端的键值对:Cookie做用户验证的时,敏感信息不适合放在Cooki ...

  9. 6.Django session

    session 1.概述 cookie和session的区别 Cookie是保存在用户浏览器端的键值对,Session是保存在服务器端的键值对:Cookie做用户验证的时,敏感信息不适合放在Cooki ...

  10. Django session 源码流程

    流程 Django session源码流程 首先执行的是SessionMiddleware的init方法 import_module(settings.SESSION_ENGINE) 导入了一个 dj ...

随机推荐

  1. oracle 新增并返回新增的主键

    oracle 的insert into 语句需要返回新增的主键的时候,可以使用一下insert 语法: insert into ims.t_bank_inquire_results (t_date,l ...

  2. Codeforces Round #497 (Div. 2)

    Codeforces Round #497 (Div. 2) https://codeforces.com/contest/1008 A #include<bits/stdc++.h> u ...

  3. Centos7编译安装lnmp(nginx1.10 php7.0.2)

    我使用的是阿里云的服务器 Centos7 64位的版本 1. 连接服务器 这个是Xshell5的版本 安装好之后我们开始连接服务器 2. 安装nginx 首先安装nginx的依赖 yum instal ...

  4. python—切片

    切片就是list取值的一种方式 l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(l[1:5]) #取值方式顾头不顾尾 print(l[:5]) #冒号 前面 没写代 ...

  5. Swift 闭包即OC中的Block

    - 闭包的定义 1.提前准备好的代码        2.在需要的时候执行        3.可以当做参数传递 // 1.最简单的闭包 // () -> () 没有参数,没有返回值的函数 // 如 ...

  6. 移动端web兼容各种分辨率写法

    移动端web开发最好用rem单位,再设置以下js,以iphone6 750*1334为基准 <script> var size = document.documentElement.cli ...

  7. 无法解析的外部命令gethostname

    使用gethostname需要连接lib: #include  <winsock2.h> #pragma comment(lib, "WS2_32.lib")

  8. TJOI2018 简要题解

    数学计算 用线段树记录之前乘过的每一个数,作除法时把原本的乘数改成111即可. 代码: #include<bits/stdc++.h> #define lc (p<<1) #d ...

  9. Paper | 块分割信息 + 压缩视频质量增强

    目录 1. 亮点 2. 网络 3. Mask 及其融合 4. 结论 论文:Enhancing HEVC Compressed Videos with a Partition-Masked Convol ...

  10. SQL STUFF函数 拼接字符串 多列 合并成一列 转

    关于和并列的 要这种效果. create table tb(idint, value varchar(10)) insert into tbvalues(1,'aa') insert into tbv ...