技术就是一层窗户纸-于无声处看大神
Posted yutingliuyl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术就是一层窗户纸-于无声处看大神相关的知识,希望对你有一定的参考价值。
1.get 跟 post 的差别。
一般无非就是:1、get通过url提交。能够提交的数据有限。
post是通过http作为content提交,能够提交数据量大。
2、get是通过url提交,对用户可见。
不安全。
post是通过http的content提交,对用户不透明,安全性高。
可是这都基本不是运用真正的差异。
至少安全性。通过简单的抓包就能够得到post的提交的数据,数据一样不安全。
真正应该从结构层面考虑这个问题,究竟什么时候应该用get。什么时候应该用post提交。
应该了解rset.
然后再来看看get跟post。
GET操作是安全的。
所谓安全是指无论进行多少次操作,资源的状态都不会改变。
比方我用GET浏览文章,无论浏览多少次,那篇文章还在那,没有变化。
当然。你可能说每浏览一次文章。文章的浏览数就加一,这不也改变了资源的状态么?这并不矛盾,由于这个改变不是GET操作引起的。而是用户自己设定的服务端逻辑造成的。
POST操作既不是安全的,也不是幂等的。比方常见的POST反复载入问题:当我们多次发出相同的POST请求后,其结果是创建出了若干的资源。
安全和幂等的意义在于:当操作没有达到预期的目标时,我们能够不停的重试,而不会对资源产生副作用。从这个意义上说。POST操作往往是有害的,但非常多时候我们还是不得不使用它。
2.写server压力瓶颈压力
一般server负载均衡,都是一般做主从分离。降低写库的压力,可是假设同一时候对写库訪问呢?
添加一个中间层,类似于cpu跟磁盘之间的效率问题。能够添加一个中间缓存。内存来中间缓存这些资源动作。然后再从中间层一次性提交到sqlserver进行操作。mysql的批量插入,比单独一条条效率会要高非常多。
3,获取ip (header头部信息)
一般获取浏览器端的ip地址,$_SERVER["REMOTE_ADDR"]通过这个全局变量获取。
可是假设浏览器是通过层层server代理訪问的server资源呢?那又怎样获取原始的ip地址?
协议知识:
http协议,都是将ip地址封装在header头信息里面,依次加密。
无论通过多少次代理。都是会将上一次的ip信息封装到header头部信息。
这个应该是当时网络七层协议的基本知识点。
运用到实际的http协议,就是应该能够通过http 的header头部信息拿到原始的ip信息。
4,推断一个数是不是2的倍数最快捷的方法
除以2求余?这是我立刻引入脑海的办法。
办法:利用php自带的转成二进制,1001的形式,末尾为1的肯定是被二整除。
以此为例,三进制,八进制。十六进制。
5,include require细节差异
一般来说:include文件,就算includes的文件有错误。主程序也不会报错。会跳过去,继续运行。
require文件,假设引入的文件有错误。主代码快会停止运行。报错。
为了防止反复引入,一般都会用include_once跟requre_once.
可是问题来了:假设是这种话,那么什么情况都用include_once就能够啦。
为啥还须要require的存在?
这就是,人类非常早曾经制造了刀剑。可是手持刀剑,那也仅仅是简单的刀剑而已。而可以将刀剑有套路的练习下去,才干进化成武术。
这样手里的刀剑,才干发挥最大的作用。
php仅仅是一把武器。掌握php也仅仅是手握一把简单的刀剑而已。简单的语法也许一个月就能够掌握。
可是须要很多其它的实际经历跟经验,才干运用自如,打遍无敌。
以上是关于技术就是一层窗户纸-于无声处看大神的主要内容,如果未能解决你的问题,请参考以下文章