POST和GET都是向服务器提交数据,并且都会从服务器获取数据。
区别:
1、传送方式:get通过地址栏传输,post通过报文传输。
2、传送长度:get参数有长度限制(受限于url长度),而post无限制
3、GET和POST还有一个重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包
以下是一些示例代码
1、POST请求
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>get和post请求与传统的表单验证</title> </head> <body> <h2>用户登录</h2> <form action="admin/check.php" method="POST"> <p> <label for="email">邮箱:</label> <input type="email" name="email"> </p> <p> <label for="password">密码:</label> <input type="password" name="password"> </p> <p><button>登录</button></p> </form> </body> </html>
点击 "运行实例" 按钮查看在线实例
运行结果
地址栏显示的是http://demo.io/admin/check.php
2、GET请求
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>get和post请求与传统的表单验证</title> </head> <body> <h2>用户登录</h2> <form action="admin/check.php" method="GET"> <p> <label for="email">邮箱:</label> <input type="email" name="email"> </p> <p> <label for="password">密码:</label> <input type="password" name="password"> </p> <p><button>登录</button></p> </form> </body> </html>
点击 "运行实例" 按钮查看在线实例
运行结果
地址栏显示的是http://demo.io/admin/check.php?email=admin%40php.cn&password=123456
手写代码
总结
1.HTTP协议:超文本传输协议。
2.HTTP协议协议用途:确保HTML文档可靠完整安全地从服务器床送到浏览器。
3.TCP/IP协议:HTTP使用的通信协议,可以确保以上目标的实现。
4.HTTP运行原理:基于“请求(Request)”与“响应(Response)”机制。
5.HTTP请求类型:主要有“GET”请求和“POST”请求。
6.GET请求: 顾名思义, 就是客户端从服务器上获取资源,典型的读操作,不会对服务器数据有任何影响
通常GET请求时会带上用户的请求参数做为条件,这些参数会以?开始的键值对方式出现在URL地址中。
7.POST请求: 本义是"发布",用户将内容提交到服务器进行发布,典型的写操作,会影响到服务器数据
POST请求的数据量通常比较大(幂操作),信息也比较敏感(如密码,手机号等),不适合放在URL中(URL对参数长度有限制)
所以,POST请求的用户数据,在存放在请求头(header)中一并提交到服务器上的。