首页 > 其他分享 >GET和POST请求的区别

GET和POST请求的区别

时间:2023-09-26 16:57:24浏览次数:46  
标签:HTTP 请求 GET url 服务器资源 POST

HTTP是超文本传输协议,用来定义客户端与服务器数据传输的规范。HTTP服务端默认端口为80,HTTPS 默认端口为443,客户端的端口是动态分配的。

GET 请求和 POST 请求都是 HTTP 请求八种(GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS)方法中的其中一种。

1、GET

GET 请求是一个幂等的请求,通过向特定的资源发出请求,从而获得服务器上的某一资源,对服务器资源不会产生影响的场景,例如:请求一个网页的资源(静态资源)。

2、POST

POST 请求不是一个幂等的请求,通过向指定资源提交数据进行处理请求,对服务器资源会产生影响的场景,例如:注册用户、提交表单或者上传文件。

3、区别

应用场景:GET不会对服务器资源产生影响,而POST会对服务器资源产生影响;

url可见性:GET请求的参数 url 可见,而 POST 请求的参数 url 不可见。 GET请求时通过url直接请求数据,数据信息可以在url中直接看到,比如浏览器访问;而POST请求是放在请求头中的,用户无法直接看到;

是否缓存:两者的应用场景不同,浏览器一般会对GET请求缓存,但很少对POST请求缓存;

传送数据量:GET传送的数据量较小,有限制,不能大于2KB;这主要是因为它受约于url长度的限制。POST传送的数据量较大,一般被默认为不受限制,但理论上,IIS4中最大量为80KB,IIS5中为100KB;

发送的报文格式:GET请求的报文中实体部分为空,而POST请求的报文实体部分一般为向服务器发送的数据;

安全性:GET请求因为数据参数是暴露在url中的,所以安全性比较低,如密码不能暴露的就不能用GET请求;POST请求中,请求信息是放在请求头的,安全性较高;

请求长度:浏览器由于对url长度的限制,所以会影响GET请求发送数据时的长度;

参数类型:POST的参数传递支持更多的数据类型,GET请求只能发送ASCII字符。

标签:HTTP,请求,GET,url,服务器资源,POST
From: https://www.cnblogs.com/wanker/p/17730465.html

相关文章

  • 快速导入请求到postman
    1.确定请求,右键复制为cURL(bash) 2.postman菜单栏Import-Rawtext,粘贴复制的内容保存,请求添加成功 ......
  • springMVC调用流程和springmvc工作机制和请求生命周期
    servlet工作模式客户端发送请求至客户端服务器启动并调用servletservlet根据请求生成响应内容并传回给服务器服务器返回给客户端servlet生命周期由容器控制,第一次请求时被加载,存活直到应用服务器关闭SpringMVC工作机制DispatcherServlet接受到request解析后到uri获取到h......
  • PostgreSQL数据库WAL日志空间大小以及不清理的原因深入分析
    1.背景很多初学者会对WAL日志占用多少空间比较疑惑,听网上的一些文章说是由max_wal_size来控制的,但发现很多时候WAL日志空间会超过这个设置的值,不知道为什么?同时有时会发现WAL日志不清理了,占用空间在不停的增长,然后不知道为什么?看一些网上的文章,发现情况不是网上说的那种情况。......
  • service.getClass().getAnnotation(XXXAnnotation.class) 取值为Null
    springboot2.7java8问题在使用工厂模式封装service时,需要通过service的class获取其类型注解,但是有些工厂类可以取到annotation注解,有些取不到渠道注解:/***xxx渠道注解**/@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@int......
  • 字符数组和字符串的输入:cin,,getchar,cin.get,cin.geiline
    1#include<iostream>2usingnamespacestd;3intmain()4{5//cin.get输入字符6////charc;7/*while((c=cin.get())!=EOF)8{9cout<<c;10}*/11/*while(cin.get(c))12{13......
  • nginx日志分析: 每小时请求量最高的IP
    按小时来统计,当前指定日志的每小时最高流量的前10个IP,并显示出请求的状态码.nginx.conf中配置的日志格式为:  log_format main '$remote_addr-$remote_user[$time_local]"$request"'           '$status$body_bytes_sent"$http_refere......
  • Linux CentOS 7.x离线安装PostgreSQL操作手册
    一、准备环节rpm-qa|greppostgres检查PostgreSQL是否已经安装rpm-qal|greppostgres检查PostgreSQL安装位置postgresql-12.2.tar.gz二、Pgsql数据库安装下载下载地址:http://www.postgresql.org/ftp/source/选择你你需要的版本,本次安装12.2的版......
  • using wget utility to download files while keeping path structure
    Frommanwget:-x,--force-directories:[...]createahierarchyofdirectories,evenifonewouldnothavebeencreatedotherwise.E.g.wget-xhttp://fly.srk.fer.hr/robots.txtwillsavethedownloadedfiletofly.srk.fer.hr/robots.txt.  Togetthest......
  • [888] How to get the directory of the current Python file
    TogetthedirectoryofthecurrentPythonfile,youcanusetheos.pathmoduleincombinationwiththe__file__attribute.Here'showyoucandoit:importos#GetthedirectoryofthecurrentPythonfilecurrent_directory=os.path.dirname(os.pat......
  • 接口自动化测试--Postman安装和环境部署
    Postman是一款功能强大的网页调试和模拟发送HTTP请求的谷歌插件,可以使用各种方法发送网页HTTP请求,能够运行测试用例1.先安装Postman  官网:https://www.postman.com/downloads/?utm_source=postman-home这里下载的是Windows版本的进行安装的就好环境部署需要部署node.js、cnpm、......