A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Zaki 初级黑马   /  2018-8-3 14:53  /  1533 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Zaki 于 2018-8-3 15:02 编辑

不知不觉已经八月出头了,已经学习两个半月的我们距离找工作是越来越近了,学习是件既快乐又痛苦的事情。满怀着对测试的喜好以及对高薪的向往,五月份来到了传智播客学习,这也是我第一次来到上海。来了上海也没有出去转过,直接就投奔到知识的海洋,经过了这么长时间的学习,学的不一定是班里前几名的,但是论到用功,我敢说我肯定是前几名里的,来学了这么久,我好好像就休息了四五天,其它休息时间竟在自习室里度过了,因为我想多学点知识,不仅仅只学习课上内容,我还要学习点课外的知识,要想在程序员这条道上走的深,学习课上内容肯定是远远不够的。
  我的学习心得呢,就是感觉方法很重要,然后就是要努力用功。在这我分享一下我的学习方法吧,我从基础班就这样学习了,我用了一个叫做印象笔记的软件,这个软件可以手机电脑端同步数据,我还用了一个截图软件,每天老师讲课,我会跟着做笔记,而且印象笔记这个东西没有什么格式要求,比较随意,图片也可以往里粘。 手写的笔记我没有过,但是我都是用键盘往笔记里敲的,笔记我还真不输给谁!就是这种方法,我一直从基础班延续到了现在,除了学python的时候笔记稍微少做了点,因为那段时间上课都跟着老师去敲代码了。 然后呢,笔记不是只做做就完事了,每隔断时间我都会去复习看看的,大致浏览一遍,那一块儿忘的差不多了,就着重去好好复习一下。科学的运用遗忘曲线是最好用的记忆方法。
  share完我的学习方法之后,我觉得应该来干货,现在我们班马上就要出去面试的节奏了,我在这就先贡献两个面试经常会问到的问题吧!
一、get和post两种基本请求方法的区别
1.最直观的区别就是get把参数包含在URL中,POST通过request body传递参数
2.get在浏览器回退时是无害的,而post会再次提交请求
3.get产生的URL地址可以被Bookmark(书签),而post不会,除非手动设置
4.get请求会被浏览器主动cache(高速缓冲存储器),而post不会,除非手动设置
5.get请求只能进行url编码,而post支持多种编码方式
6.get请求参数会被完整保留在浏览器历史记录里,而post中的参数不会被保留
7.get请求是有长度限制的,而post没有
8.对参数的类型,get只接受ASCII字符,而post无限制
9.post比get更安全,因为参数不会直接暴露在url上,所以不能用来传递敏感信息
10.get是从服务器获取数据,点击返回/刷新,数据无影响 | post是向服务器传输数据,点击返回/刷新,数据会重新发送

GET和POST还有一个重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包。

长的说:
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?
1. GET与POST都有自己的语义,不能随便混用。
2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。


二、cookie

1、Cookie 在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在 RAM 中发挥作用 (此种 Cookies 称作 Session Cookies),一旦用户从该网站或服务器退出,Cookie 可存储在用户本地的硬盘上 (此种 Cookies 称作 Persistent Cookies)
2、通常情况下,当用户结束浏览器会话时,系统将终止所有的 Cookie。当 Web 服务器创建了Cookies 后,只要在其有效期内,当用户访问同一个 Web 服务器时,浏览器首先要检查本地的Cookies,并将其原样发送给 Web 服务器。这种状态信息称作“Persistent Client State HTTP Cookie” ,简称为 Cookies.
3、 Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息
4、 目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除
5、 持续的 Cookie 则保存在用户的 Cookie 文件中,下一次用户返回时,仍然可以对它进行调用。在 Cookie 文件中保存 Cookie,有些用户担心 Cookie 中的用户信息被一些别有用心的人窃取,而造成一定的损害。其实,网站以外的用户无法跨过网站来获得 Cookie 信息。如果因为这种担心而屏蔽 Cookie,肯定会因此拒绝访问许多站点页面。因为,当今有许多 Web 站点开发人员使用 Cookie 技术,例如 Session 对象的使用就离不开 Cookie 的支持


Image.png (21.3 KB, 下载次数: 30)

get和post

get和post

Image1.png (19.85 KB, 下载次数: 31)

cookie

cookie

1 个回复

倒序浏览
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马