post与get的区别
来源:互联网 发布:程序员 博客 平台 编辑:程序博客网 时间:2024/05/16 05:43
一直没有特意去弄明白post与get的请求,今天一个电话面试问到了这个问题,当时的回答是:仅是请求参数的放置在http报文位置不同,一个可以在浏览器里看见请求参数,一个看不见。但是感觉答的不是很好,请求报文的结构也不清楚,于是学习了一下,记录下来。
1.http报文
分请求报文和响应报文,他们结构大体都是三部分,我对比着说
请求报文 响应报文
(请求行)(状态行)
(请求头) (响应头)
(数据行) (数据行)
他们之间的区别就是请求行与状态行,其他的部分答题相同
不同部分:
请求行的结构:
请求方法+url+传输协议版本号
状态行的结构:
请求协议版本号+状态码+状态描述
相同部分:
请求头,响应头:
都是一些键值对:
请求头通知服务器关于请求的信息,例如浏览器类型,客户端支持的接收内容的类型,请求的服务器主机名等;
响应头包括响应内容的类型等
数据行:
post请求的参数,响应的内容都放在数据行
2.了解了http报文,那么可以开始说明post与get的区别
1.最明显的便是发送请求是参数在报文中的位置不同了。
get请求的参数放在报文的请求行与url拼接,?号将url与参数隔开,非数字和英文的参数将会被加密,转换成16进制的格式显示出来,真个url将会被暴露在浏览器上
2.其次能够传输的数据大小会有区别
一般来说,get请求能够传输的数据会比post小一点,因为参数位置不一样的原因,get请求能够携带的数据多少有url的长度决定,由于浏览器支持的url长度一般都是有限度的,所以一般get携带的参数会比post少,一般需要传递大量的数据的时候,应该用post请求。
3.安全性
由于get参数暴露在浏览器,所以post请求传递参数的时候安全性会高一点
- Get与Post的区别
- get与post的区别()
- get与post的区别
- get与post的区别
- Get与Post的区别
- get 与post的区别
- post 与 get的区别
- POST与GET的区别
- POST与GET的区别
- POST与GET的区别
- Get与Post的区别
- get与post的区别
- GET与POST的区别
- POST与GET的区别
- POST与GET的区别
- get与post的区别
- get与post的区别
- post与get的区别
- pcDuino---通过SSH命令行上网
- 题目1034:寻找大富翁
- 项目后期Lua接入笔记09--策划Excel转Lua
- java jdbc 连接Mysql数据库
- 【死磕Java并发】----深入分析CAS
- post与get的区别
- 面向对象高级( 随手记-2)
- ios开发之NSDictionary
- Lintcode 两个排序数组的中位数
- 1617: [Usaco2008 Mar]River Crossing渡河问题
- Java-数据库操作 事务操作
- NSTimer+倒计时功能实现
- SDUT 3470 数学黑洞
- 分治算法——大整数乘法(multiplication of large integers)