目录
HTTP协议的基本请求方法
GET请求
POST请求
GET和POST区别
HTTP协议的基本请求方法
HTTP协议定义了很多与扶额u其交互的方法,最基本的只有四种:GET,POST,DELETE,PUT;
一个url地址用于描述一个网络上的资源,http中的四个基本请求方法对应这个资源的增删查改四个操作;
最常见的请求GET和POST:
GET:请求读取一个Web页面,一般用于获取/查询资源信息;
POST:上传一个资源(如Web页面),一般用于更新资源信息;
GET请求
从指定的资源请求数据,用于获取数据,一般用于搜索排序和筛选之类的操作。
get请求其实就是通过URL来传递数据。当客户端要从服务器中读取文档时,当点击网页上的链接,或者在浏览器地址栏输入网址浏览网页,都是GET请求方式。
使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始(?query),传递参数长度受限制(不同浏览器不同)。
POST请求
向指定的资源提交要被处理的数据,用于将数据发送给服务器,一般用于修改和写入数据。
使用POST方法可以允许客户端给服务器提供信息较多。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据,这样POST方式对传送的数据大小没有限制,而且也不会显示在URL中。
GET和POST区别
get请求和post请求本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。
(1)post请求更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中,get请求的是静态资源,则会缓存,如果是数据,则不会缓存)
(2)post请求发送的数据更大(get请求有url长度限制,http协议本身不限制,请求长度限制是由浏览器和web服务器决定和设置)
(3)post请求能发送更多的数据类型(get请求只能发送ASCII字符)
(4)传参方式不同(get请求参数通过url传递,post请求放在request body中传递)
(5)get请求的是静态资源,则会缓存,如果是数据,则不会缓存
(6)get请求产生一个TCP数据包;post请求产生两个TCP数据包(get请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据;post请求,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 返回数据)。



