HTTP协议中 GET 和 POST的区别(全)

简介: 目录前言1. 源码探讨2. 区别前言在了解这两个的区别的同时还需要额外补充一些http协议中其他方法以此了解更加深入方法描述GET请求指定的页面信息,并返回实体主体HEAD类似于 GET 请求,返回的响应没有具体内容,用于获取报头POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改PUT从客户端向服务器传送的数据取代指定的文档的内容DELETE删除指定

前言

在了解这两个的区别的同时
还需要额外补充一些http协议中其他方法以此了解更加深入

方法 描述
==GET== 请求指定的页面信息,并返回实体主体
==HEAD== 类似于 GET 请求,返回的响应没有具体内容,用于获取报头
==POST== 向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改
==PUT== 从客户端向服务器传送的数据取代指定的文档的内容
==DELETE== 删除指定的页面
CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器
OPTIONS 允许客户端查看服务器的性能
TRACE 回显服务器收到的请求,主要用于测试或诊断
PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新

在这里插入图片描述

其中GET和HEAD被称为安全方法
因为使用GET和HEAD的HTTP请求不会产生什么修改页面的信息
而POST是不安全的方法,因为会修改其页面内容,比如页面信息的变动都是修改,比如贴吧、微博等评论,增删改这些信息都是一种变动

1. 源码探讨

为了更好的展示get例子
比如该网址https://www.baidu.com/s?wd=%E5%BE%AE%E5%8D%9A&ie=utf-8&tn=02003390_80_hao_pg
在这里插入图片描述
一个很简单的百度例子,但这个页面不可以修改,只能查询数据
通过设置他的页面信息变为get
查看其http协议中的信息
在这里插入图片描述
变为post的请求头如下
在这里插入图片描述

2. 区别

  • GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。
  • POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。

因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。

  • get 数据不安全,伴随请求地址,数据量有限
  • post 数据安全,速度慢, 数据量可以无限

post的放在请求器,get没有请求器
两者都是 name=value,只不过明文密文而已
文件上传不能使用get,请求地址应该是地址,拼接的地址也是文件名而不是文件地址

操作方式 明文密文 数据安全性 数据大小 功能
GET 明文 不安全 数据小 查询数据 查询数据
POST 两种都可 安全 大数据传输 增删改数据

get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程

GET 和 POST 本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同

相关文章
|
1天前
|
移动开发 网络协议 网络安全
【网络安全 | 网络协议】一文讲清HTTP协议
【网络安全 | 网络协议】一文讲清HTTP协议
6 0
|
5天前
|
安全 网络协议 网络安全
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
HTTP和HTTPS是互联网主要的两大协议,HTTP是基础的简单请求-响应协议,常用于TCP上,但数据传输不安全。HTTPS是HTTP的安全版本,添加了SSL层进行加密和身份验证,提供更高的安全性,用于保护数据和验证网站真实性。HTTPS需CA证书,可能产生费用,并使用443端口而非HTTP的80端口。
|
5天前
|
网络协议 安全 数据安全/隐私保护
干货|代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理
SOCKS5和HTTP是两种代理协议,前者是通用型,支持多种网络流量,提供身份验证、IPv6支持及UDP兼容性,更适合实时数据传输。HTTP代理专用于HTTP协议,适用于Web资源请求。SOCKS5在传输方式、功能、兼容性和安全性上更胜一筹,而HTTP代理则在处理HTTP请求时更专业。选择代理协议应根据需求和应用场景,考虑服务的稳定性和安全性。付费代理如kookeey全球代理,支持双协议,速度快且可扩展性强,是可靠的选择。
|
6天前
|
数据采集 网络协议 安全
2024年,你还在等什么?一起探索HTTP协议的奥秘!
2024年,你还在等什么?一起探索HTTP协议的奥秘!
|
存储 Web App开发 监控
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
我们以前使用过的对hbase和hdfs进行健康检查,及剩余hdfs容量告警,简单易用 1.针对hadoop2的脚本: #/bin/bashbin=`dirname $0`bin=`cd $bin;pwd`STATE_OK=...
1016 0
|
Web App开发 前端开发 关系型数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
fuser可用于查询文件、目录、socket端口和文件系统的使用进程 1.查询文件和目录使用者 fuser最基本的用法是查询某个文件或目录被哪个进程使用: # fuser -v .
858 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
系统的升级涉及各个架构组件,细节很多。常年累月的修修补补使老系统积累了很多问题。 系统升级则意味着需要repair之前埋下的雷,那为何还要升级,可以考虑以下几个方面 成熟老系统常见问题: 1. 缺乏文档(这应该是大小公司都存在的问题。
591 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致 Exception in thread "main" com.
808 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
负载均衡: LVS(Layer 4), HAProxy(Layer 4、 7),Nginx(Layer 7) 虚拟化: LXC、KVM、Xen HA:Keepalived、Heartbeat 分布式缓存...
735 0
|
存储 监控 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
为首次部署MongoDB做好准备:容量计划和监控 作者Mat Keep ,译者孙镜涛如果你已经完成了自己新的MongoDB应用程序的开发,并且现在正准备将它部署进产品中,那么你和你的运营团队需要讨论一些关键的问题: 最佳部署实践是什么? 为了确保应用程序满足它所必须的服务层次我们需要监控哪些关键指标? 如何能够确定添加分片的时机? 有哪些工具可以对数据库进行备份和恢复? 怎样才能安全地访问所有新的实时大数据? 本文介绍了硬件选择、扩展、HA和监控。
2557 0