http协议、cookie及session
1. HTTP协议是无连接的
- 网页操作--浏览器--Http协议--web服务器(appache/IIS)
无连接的
- 每次连接只处理一个请求,服务器处理完并收到客户端应答,即断开连接
- 目的:节省传输时间
无状态的
对于事务处理不具备记忆功能
2. HTTP消息结构
客户端(浏览器)发送请求
请求行(请求方法、url、协议版本)、请求头、请求体
服务器(appache/IIS)响应请求
状态行(协议版本、状态码)、响应头、响应正文
3. 状态码
常用
200 OK; 301 url已转移;
404 不存在;500 服务器错误分类
1* 服务器要求继续操作
2* 成功
3* 重定向
4* 客户端错误(url不存在、语法错误等)
5* 服务器错误
4. cookie原理
- 客户端发起请求时如果没有通行证,服务器就会在响应内容里给客户端颁发通行证;
- 之后,客户端所有请求都附带通行证,这样服务器就知道当前请求是谁发出的
- cookie与域名绑定,浏览器会识别域名,防止cookie被其他域名绑定
- 每次请求都要携带cookie,因此cookie不能太过庞大
cookie通过键值对保存数据
- String name:cookie的名称,一旦创建不会变化
- Object value:cookie的值
- int maxAge:失效时间(单位秒,负数代表临时cookie,关闭浏览器即失效,为0表示将删除,默认-1)
- boolean secure:仅安全协议传输(默认false)
- String path:指定该域名下哪些路径可以使用该cookie(以/结尾)
- String domain:域名(以.开头)
- String comment:说明
- int version:cookie遵循的版本号(0或者1)
cookie保存用户名密码的三种方法
- 账号密码直接存在cookie,访问时直接与服务器数据库比较(方便,不安全)
- 密码加密保存在cookie,访问时解密与服务器数据库比较(也可以不保存密码,而是保存时间戳验证)
- 账号密码按照加密规则加密后一起保存在cookie,访问时验证加密规则是否匹配即可(无需查询数据库)
5. session原理
- 服务器有个记录表,接收到客户端请求后,会在表中查找该客户,找不到就会记录一份客户信息内容,找得到就直接读取客户上次的状态。
- 大量用户访问时,可能导致session过多而内存溢出,因此session内容也要尽量精简
- 只有访问动态资源才会触发session,访问时无论是否读写session,session都会更新状态(时间)
- session需要cokkie作为识别标志(不然还是不知道是哪个客户啊),使用session时,默认生成的cookie的maxAge值为-1(只在当前窗口有效)
http协议、cookie及session的更多相关文章
- HTTP协议--cookie、session、缓存与代理
1 Cookie和 Session Cookie和 Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决 HTTP无状态的问题而所做的努力. Session可以用 Cook ...
- HTTP协议COOKIE和SESSION有什么区别
1.为什么会有COOKIE这种机制 首先一种场景, 在一个网站上面, 我发起一次请求,那服务器怎么知道我是谁?是谁发起的这次请求呢, HTTP协议是无状态的协议, 浏览器的每一次请求,服务器都当做一 ...
- HTTP协议-Cookie和Session详解
前言: 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的跟踪技术就是Cookie和Session. Cookie通过在客户端记录信息确定用户身份,Session通过在 ...
- http无状态协议,cookie和session详解(一)
1.HTTP无状态协议 首先看百度百科给出的定义: HTTP无状态协议,是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样导致可能每次连接传送的数据量增大 ...
- 记录:http协议+response+request+session+cookie
1.http协议 http协议也叫作超文本传输协议,定义了浏览器向怎样向服务器请求资源和服务器怎样将资源传给浏览器.http协议是面向事务的应用层协议,是万维网能够传递资源的可靠保障. 目前http协 ...
- Cookie和Session的总结
1.开篇 在之前学习这一段的时候我一直有点没弄清楚,其实对Session这块的理解还可以,但是Cookie感觉始终还是欠缺点火候.之后的很长一段时间都基本上很少用Cookie了,渐渐的也淡忘了这一块的 ...
- django的cookie和session以及内置信号、缓存
cookie和session cookie和session的作用: cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话.两者最大的区别是cookie的信息是存放在浏览 ...
- Cookie和Session的区别
前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,就需要我们自己去解决这个问题.不然有些情况下即使是同一个网站我们每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题 ...
- Cookie与Session
再说Cookie与Session之前,先要了解一下http协议. 何为http协议: http协议即超文本传输协议,一种基于浏览器请求与服务器响应的协议,该协议主要的特点就是它是一种无状态的协议(只针 ...
- 【转】Cookie和Session区别和联系详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
随机推荐
- UniGUI的TUniLoginForm窗口自定义背景色和背景图片
雨田家园 UniGUI的TUniLoginForm窗口自定义背景色 uniGUI的TUniLoginForm类创建的登录窗口默认是不带颜色,可以自定义css风格来改变背景颜色. 一般是通过在UniSe ...
- 将Azure计算机视觉添加到Xamarin应用程序简单体验
微软Azure提供了大量的AI及机器学习功能,可以通过简单的RestAPI调用. 关于此文中提到的Azure计算机视觉,可查看此链接的详细介绍. 通过微软的服务,只需要几行代码即可使用计算机视觉中的 ...
- EF学习笔记-2 EF之支持复杂类型的实现
使用过.NET的小伙伴们知道,在我们的实体模型中,除了一些简单模型外,还有一些复杂类型,如几个简单的类型组合而成的类型:而EF除了在实现基本的增删改查之外,也支持复杂类型的实现. 那么如何手动构造复杂 ...
- [leetcode.com]算法题目 - Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- 分组,命名分组,url的命名和反向解析
1.位置分组 匹配到参数,按照位置参数的方式传递给视图函数 视图函数需要定义形参接收变量 1.写在url里面的: # 删除 url(r'^del_class/(\d+)',views.del_clas ...
- cad2014卸载/安装失败/如何彻底卸载清除干净cad2014注册表和文件的方法
cad2014提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装cad2014失败提示cad2014安装未完成,某些产品无法安装,也有时候想重新安装cad2014 ...
- web端权限维持【好文】
前言 关于权限维持,我之前写过一篇基于系统端的后门技术文章,如映像劫持啊,lpk之类. 内容目录: - 构造文件包含漏洞- 隐蔽性脚本木马- 构造sql注入点 正文 0x01 构造文件包含漏洞 > ...
- Mac下通过 brew 安装 Apache 和 PHP
Mac 自带的是php5.6 ,这里讲一下如果要升级到php7.1需要做的. 1.安装brew https://brew.sh/(官网有提供安装命令 建议使用) ruby -e "$(cur ...
- vue-cli初始化一个项目
1,换成淘宝源: npm config set registry https://registry.npm.taobao.org/ 检查是否修改成功 npm config get registry 2 ...
- 微信小程序之模版的使用(template)
WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用. 分为两部分,定义模板和使用模板 (1).定义模板:使用 name 属性,作为模板的名字.然后在<templ ...