Blog

在镜子前做出行为来提升言行一致性

Content #

自我意识强的人通常会受自己态度的影响(Miller&Grush,1986)。这提供了另一种诱发人们关注自己内在信念的方法:或许可以通过让他们在镜子前做出行为来让他们自我觉知(Carver&Scheier,1981)。也许你立刻会明确意识到自己正待在一个有一面大镜子的房间里。通过这种方法使人们进行自我觉知,可以提升其言行一致性(Froming&others,1982;Gibbons,1978)。

爱德华·迪纳和马克·沃尔伯(Diener&Wallbom,1976)注意到,几乎所有的大学生都认为作弊是不道德的。但是,他们会听从莎士比亚笔下波洛尼厄斯的建议“真实地表现自我”吗?迪纳和沃尔伯让华盛顿大学的学生猜一个字谜(声称是测智商),并且告诉他们当屋里的铃响时就停止猜谜。在让他们各自单独猜谜的情况下,71%的学生在铃响后继续做题。而在那些可以自我觉知的学生中——让他们在一面镜子前做题同时听录有自己说话声音的磁带——只有7%的学生作弊。这就让人想起:商店中与人等高的镜子也许能让人们更多地意识到自己对于盗窃的态度吧?

From #

社会心理学(戴维·迈尔斯)

先考虑自己的态度而后再行动

Content #

如果要求人们先考虑自己的态度而后再行动,那人们能否更真实地表现自我呢?这正是马克·斯奈德和威廉·斯旺(Snyder&Swann,1976)所研究的内容。他们先调查了明尼苏达大学120个学生对某一雇佣政策的态度。两周以后,斯奈德和斯旺邀请这些学生在一个性别歧视案件中担任陪审员。结果发现,只有那些被提醒记住自己态度的人,给他们“几分钟来组织自己对于确证-行为问题的看法和观点。”其态度能预测判决结果。

当我们思考自己的态度时,态度才会影响我们的行为。

From #

社会心理学(戴维·迈尔斯)

宗教态度能够很好地预测在较长一段时间内个体的总体宗教行为

Content #

人们对于宗教的总体态度很难预测他们下周末是否会去做礼拜(因为天气、传教士、一个人的感受等都会影响做礼拜的行为)。但是,宗教态度能够很好地预测在较长一段时间内个体的总体宗教行为 (Fishbein&Ajzen,1974;Kahle&Berman,1979)。

从这一发现中我们可以得出一个总体原则:当我们观察个人总体的或通常的行为而非单独的某一次行为时,态度对于行为的预测效应会变得更明显。

From #

社会心理学(戴维·迈尔斯)

内隐偏见

Content #

“内隐联想测试”(implicit association test,IAT),用反应时来测量人们概念联想的速度(Greenwald&others,2002,2003)。例如,我们可以评估白人将积极词汇与黑人面孔联系起来是否比与白人面孔联系,需花更多的时间,以测量内隐的种族态度。内隐态度研究者提供了几类在线评估的内隐联想测试 (projectimplicit.net)。自1998年至今约500万人参加了测验,结果表明:

  1. 内隐偏见普遍存在。例如,80%的人对老年人的内隐消极态度大于对年轻人的。
  2. 内隐偏见存在个体差异。由于所处群体不同,持有的有意识态度和在直接环境中的偏见不同,有些人会比其他人表现出更多的内隐偏见。
  3. 人们通常意识不到自己的内隐偏见。尽管认为自己公正无私,但即便是研究者本身也会表现出某些内隐偏见(对某些社会群体的消极联想)。

From #

社会心理学(戴维·迈尔斯)

人们表现出的态度很难预测他们的各种行为

Content #

学生对于作弊的态度与他们的实际作弊行为几乎没有关系。

对教堂的态度与星期天做礼拜的行为只存在中等程度的相关。

自我描述的种族观与真实情境中的行为几乎不存在什么相关。很多人说,在听到种族主义言论时会表达自己的不满,但事实上当他们真遇到这种情况[比如有人用nigger(黑鬼——对黑人的一种蔑称。——译者注)这一带有种族主义色彩的单词]时却表现得漠不关心(Kawakami&others,2009)。

丹尼尔·巴特森等人所说的“道德伪善”(显得有道德水准,但实际上拒绝为之付出任何代价)便是一个态度和行为相背离的例子。他们给被试布置了两个任务,一个十分诱人(被试能够挣到30美元的奖券),而另一个却无聊且没有奖励。被试需要进行任务分配,一个安排给自己,剩下的一个安排给别人。20个人中仅仅有1人认为给自己安排有吸引力的任务是最道德的,但实际上80%的人却是这样做的。在接下来关于道德伪善的实验中,研究者给被试一些硬币,并且告诉他们,如果他们愿意的话可以通过私下抛掷硬币的方法来决定任务的分配。即使他们选择了抛掷硬币,但还是有90%的人把好的任务安排给了自己!这一结果仅仅是由于他们自行决定硬币朝上还是朝下的意义而导致的吗?在另一个实验中,巴特森在硬币的每一面都贴了标签,以明确抛掷的结果。但28人中仍然有24人给自己安排了好的任务。当道德与贪婪同处在竞技场中时,通常是贪婪大获全胜。

From #

社会心理学(戴维·迈尔斯)

态度对行为的预测

Content #

我们内在的态度是如何与我们外在的行为相联系的呢?

社会心理学家认为态度和行为互相支持。流行的大众观点强调态度对行为的影响作用,但令人惊奇的是,态度——通常被认为是对一些事物或人的情感—— 经常不能很好地预测行为。并且,改变人们的态度很显然不能在很大程度上改变人们的行为。这些发现让社会心理学家急于去寻找我们经常言行不一的原因。

内隐偏见是普遍存在的。

我们所表露的态度和做出的行为各自受许多因素的影响。我们的态度能够预测我们的行为:

  1. 如果把“其他因素的影响”最小化,
  2. 如果态度与预测的行为(比如对投票的研究)紧密相关,
  3. 如果态度是强有力的(以某一些事提醒我们牢记这点,或通过直接的经验意识到这点)。

在这些情况下,我们的所想所感与我们的所为会紧密相关。

比如, 宗教态度能够很好地预测在较长一段时间内个体的总体宗教行为

在镜子前做出行为来提升言行一致性

From #

社会心理学(戴维·迈尔斯)

态度ABC理论的三个维度

Content #

当社会心理学家谈到某人的态度时,他们指的是与人或事物相关的信念和感受以及由此引发的行为倾向。综合起来,一个人的态度(attitude)可以界定为个体对人或事物的积极或消极的评价性反应,它通常根植于个体的信念,表现于个体的感受或者行为倾向中。因此,一个人可能对咖啡持有消极的态度,对法国持有中立的态度,对隔壁邻居持有积极的态度。

态度能有效地度量世界。当我们必须对某一人或事物做出快速反应时,我们对其的感受可以指导我们做出反应。比如,如果某个人认为某个种族是懒惰的、好斗的,那么他可能会不喜欢这个种族的人,并且因而产生歧视。你可以记住态度“ABC”理论的三个维度,即情感(affect)、行为倾向(behavior tendency)和认知(cognition)。

From #

社会心理学(戴维·迈尔斯)

头部压缩HPACK

Content #

“HPACK”算法是专门为压缩 HTTP 头部定制的算法,与 gzip、zlib 等压缩算法不同,它是一个“有状态”的算法,需要客户端和服务器各自维护一份“索引表”,也可以说是“字典”(这有点类似 brotli),压缩和解压缩就是查表和更新表的操作。

为了方便管理和压缩,HTTP/2 废除了原有的起始行概念,把起始行里面的请求方法、URI、状态码等统一转换成了头字段的形式,并且给这些“不是头字段的头字段”起了个特别的名字——“伪头字段”(pseudo-header fields)。而起始行里的版本号和错误原因短语因为没什么大用,顺便也给废除了。

为了与“真头字段”区分开来,这些“伪头字段”会在名字前加一个“:”,比如“:authority” “:method” “:status”,分别表示的是域名、请求方法和状态码。

现在 HTTP 报文头就简单了,全都是“Key-Value”形式的字段,于是 HTTP/2 就为一些最常用的头字段定义了一个只读的“静态表”(Static Table)。

下面的这个表格列出了“静态表”的一部分,这样只要查表就可以知道字段名和对应的值,比如数字“2”代表“GET”,数字“8”代表状态码 200。

但如果表里只有 Key 没有 Value,或者是自定义字段根本找不到该怎么办呢?

这就要用到“动态表”(Dynamic Table),它添加在静态表后面,结构相同,但会在编码解码的时候随时更新。

比如说,第一次发送请求时的“user-agent”字段长是一百多个字节,用哈夫曼压缩编码发送之后,客户端和服务器都更新自己的动态表,添加一个新的索引号“65”。那么下一次发送的时候就不用再重复发那么多字节了,只要用一个字节发送编号就好。

你可以想象得出来,随着在 HTTP/2 连接上发送的报文越来越多,两边的“字典”也会越来越丰富,最终每次的头部字段都会变成一两个字节的代码,原来上千字节的头用几十个字节就可以表示了,压缩效果比 gzip 要好得多。

Viewpoints #

From #

31 | 时代之风(下):HTTP/2内核剖析

连接前言(connection preface)

Content #

TLS 握手成功之后,客户端必须要发送一个“连接前言”(connection preface),用来确认建立 HTTP/2 连接。

这个“连接前言”是标准的 HTTP/1 请求报文,使用纯文本的 ASCII 码格式,请求方法是特别注册的一个关键字“PRI”,全文只有 24 个字节:

PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n

在 Wireshark 里,HTTP/2 的“连接前言”被称为“Magic”,意思就是“不可知的魔法”。

所以,就不要问“为什么会是这样”了,只要服务器收到这个“有魔力的字符串”,就知道客户端在 TLS 上想要的是 HTTP/2 协议,而不是其他别的协议,后面就会都使用 HTTP/2 的数据格式。

Viewpoints #

From #

31 | 时代之风(下):HTTP/2内核剖析

HSTS(HTTP Strict Transport Security)

Content #

现在有了 HTTPS 服务,但原来的 HTTP 站点也不能马上弃用,还是会有很多网民习惯在地址栏里直接敲域名(或者是旧的书签、超链接),默认使用 HTTP 协议访问。

所以,我们就需要用到“重定向跳转”技术了,把不安全的 HTTP 网址用 301 或 302“重定向”到新的 HTTPS 网站,这在 Nginx 里也很容易做到,使用“return”或“rewrite”都可以。

return 301 https://$host$request_uri;             #永久重定向
rewrite ^  https://$host$request_uri permanent;   #永久重定向

但这种方式有两个问题。一个是重定向增加了网络成本,多出了一次请求;另一个是存在安全隐患,重定向的响应可能会被“中间人”窜改,实现“会话劫持”,跳转到恶意网站。

不过有一种叫“HSTS”(HTTP 严格传输安全,HTTP Strict Transport Security)的技术可以消除这种安全隐患。HTTPS 服务器需要在发出的响应头里添加一个“Strict-Transport-Security”的字段,再设定一个有效期,例如:

Strict-Transport-Security: max-age=15768000; includeSubDomains

这相当于告诉浏览器:我这个网站必须严格使用 HTTPS 协议,在半年之内(182.5 天)都不允许用 HTTP,你以后就自己做转换吧,不要再来麻烦我了。

有了“HSTS”的指示,以后浏览器再访问同样的域名的时候就会自动把 URI 里的“http”改成“https”,直接访问安全的 HTTPS 网站。这样“中间人”就失去了攻击的机会,而且对于客户端来说也免去了一次跳转,加快了连接速度。

比如,如果在实验环境的配置文件里用“add_header”指令添加“HSTS”字段:

add_header Strict-Transport-Security max-age=15768000; #182.5days

那么 Chrome 浏览器只会在第一次连接时使用 HTTP 协议,之后就会都走 HTTPS 协议。

Viewpoints #

From #

29 | 我应该迁移到HTTPS吗?