当前位置 : 主页 > 网页制作 > HTTP/TCP >

HTTP协议-get请求与post请求的区别

来源:互联网 收集:自由互联 发布时间:2021-06-16
区别: 参数:get通过url进行传递;post放在requestbody中 长度:get请求在url的长度是有限制的;而post没有(其实这个限制是来自浏览器和web服务器对url的限制,并不是http协议) 安全:g

区别:

参数:get通过url进行传递;post放在request body中 长度:get请求在url的长度是有限制的;而post没有(其实这个限制是来自浏览器和web服务器对url的限制,并不是http协议) 安全:get由于直接将参数暴露在url中所以不能用来传递敏感信息,而post就不会有这个问题 编码:get只能进行url编码,而post支持多种编码合适 速度:由于get的data都在url里面所以速度较快(如果在网络环境好的情况下和这个可以差距忽略,反而在网络环境差的情况下两次包的tpc在验证数据的完整性上,有更大的优点 ) 缓存:get请求可以被浏览器缓存,post请求不会被浏览器缓存 数据包:get由于data都在url里面,浏览器会把http的header和data一并发送,所以只残生一个数据包服务器响应200;post,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响200 ok(不过这不是post的必然行为是部分浏览器或框架的请求方式) 本质:本质上来说get和post并没有差别,底层都是tcp/ip协议,但是由于http的规定和浏览器、服务器的限制,导致他们在应用过程中出现了不用的形式   详情:https://www.cnblogs.com/songanwei/p/9387815.html

扩展:

tcp/ip协议:是用于因特网的通讯协议-是供已连接因特网的计算机进行通信的协议 tcp:(传输控制协议)-应用于程序之间的通信 ip:(网际协议)-计算机之间的通信 http: 超文本传输协议-是用于从万维网服务器传输超文本到本地浏览器的传送协议;是基于tcp/ip通信协议来传递数据 关系: tcp就想汽车,我们用tcp来运输数据,他很可靠,从来不是发生少件的现象 但是如果都是一样的汽车那就会一团乱,为了避免混乱 所以交通规则诞生了他就是http,他为tcp提供了服务类别(pot、get、put、dalete。。。。) 但是,我们只看到HTTP对GET和POST参数的传送渠道(url还是requrest body)提出了要求。“标准答案”里关于参数大小的限制又是从哪来的呢? 那就是万维网中另一个重要的角色:运输公司(浏览器) 理论上你可以在车顶无限推货物(url中无限加参数),但是数据量太大会给浏览器和服务器造成很大的负担。 所以业界有不成文的规定,大多数浏览器会限制url长度在2k字节,而大多数服务器最多处理64k大小的url
网友评论