博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GET请求和POST请求的区别
阅读量:4499 次
发布时间:2019-06-08

本文共 761 字,大约阅读时间需要 2 分钟。

1.  GET把请求的数据放在URL上,即HTTP协议头上,其格式为: 

    以?分割URL和传输数据,参数之间以&相连。 
    数据如果是英文字母/数字,原样发送, 
    如果是空格,转换为+, 
    如果是中文/其他字符,则直接把字符串用BASE64加密,及“%”加上“字符串的16进制ASCII码”。 

    POST把数据放在HTTP的包体内(requrest body)。

 

2.  GET提交的数据最大是2k(原则上url长度无限制,那么get提交的数据也没有限制咯?限制实际上取决于浏览器,

     (大多数)浏览器通常都会限制url长度在2K个字节,即使(大多数)服务器最多处理64K大小的url。

   POST理论上没有限制。实际上IIS4中最大量为80KB,IIS5中为100KB。

 

3.  GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); 

   POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

 

4.  GET在浏览器回退时是无害的,POST会再次提交请求。

 

5.  GET产生的URL地址可以被Bookmark,而POST不可以。

 

6.  GET请求会被浏览器主动cache,而POST不会,除非手动设置。

 

7.  GET请求只能进行url编码,而POST支持多种编码方式。

 

8.  GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

 

9.  GET只接受ASCII字符的参数的数据类型,而POST没有限制

 

转载于:https://www.cnblogs.com/Kingram/p/9370726.html

你可能感兴趣的文章
利用DFS求联通块个数
查看>>
初识 python
查看>>
PCL Examples
查看>>
spring boot
查看>>
浏览器URL传参最大长度问题
查看>>
学习进度条
查看>>
Linux crontab 定时任务详解
查看>>
string成员函数
查看>>
onSaveInstanceState()方法问题
查看>>
[转]CocoaChina上一位工程师整理的开发经验(非常nice)
查看>>
大数据时代侦查机制有哪些改变
查看>>
雷林鹏分享:jQuery EasyUI 菜单与按钮 - 创建链接按钮
查看>>
Apache Traffic Server服务搭建
查看>>
poj1990两个树状数组
查看>>
学习python-day1
查看>>
Delphi的命令行编译命令
查看>>
BZOJ 1901 Zju2112 Dynamic Rankings 题解
查看>>
C++虚析构函数
查看>>
《玩转.NET Micro Framework 移植-基于STM32F10x处理器》--微软中国.NET Micro Framework项目组工程师所作之序...
查看>>
php服务端搜索,功能改进
查看>>