PHP 基础

1.POST GET区别

POST 和GET是什么?HTTP协议中的两种发送请求的方法 HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接

GET - 从指定的资源请求数据。 ---查询字符串(名称/值对)是在 GET 请求的 URL 中发送的

POST - 向指定的资源提交要被处理的数据 ---查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的

长的说:

对于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就只发送一次。

https://mp.weixin.qq.com/s?__biz=MzI3NzIzMzg3Mw==&mid=100000054&idx=1&sn=71f6c214f3833d9ca20b9f7dcd9d33e4#rd

GET的语义是请求获取指定的资源。GET方法是安全、幂等、可缓存的(除非有 Cache-Control Header的约束),GET方法的报文主体没有任何语义。

POST的语义是根据请求负荷(报文主体)对指定的资源做出处理,具体的处理方式视资源类型而不同。POST不安全,不幂等,(大部分实现)不可缓存。

2。HTML BASE含义

<base> 标签为页面上的所有链接规定默认地址或默认目标。base其实就是定义一个默认的地址和默认目标。在其后的链接元素都将起作用。



3.魔术方法

__construct() 类的构造函数
__desctruct() 类的析构函数
__get() 获得一个类的成员变量时调用
__set() 设置一个类的成员变量时调用
__isset() 当对不可访问属性调用isset()或empty()时调用
__unset() 当对不可访问属性调用unset()时被调用。
__toString() 类被当成字符串时的回应方法
__clone() 当对象复制完成时调用
__sleep() 执行serialize()时,先会调用这个函数
__call() 在对象中调用一个不可访问方法时调用
__invoke() 调用函数的方式调用一个对象时的回应方法
__autoload() 尝试加载未定义的类

4。PHP正则表达式 验证电子邮件地址

$email_address = $_POST["email_address"];
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
if ( preg_match( $pattern, $email_address ) )

猜你喜欢

转载自www.cnblogs.com/kaixin110/p/9081232.html