文章插图
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍 。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了 。
此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员 。
码农:你知道get和post请求到底有什么区别?
程序员:你看这篇就知道了 。
码农:你月薪三万了?
程序员:嗯 。
码农:你是怎么做到的?
程序员:我做梦做到的
前言这个问题几乎面试的时候都会问到,是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎 。
关于get和post如果你有条件上百度的话,至少有200百万条结果,每个人都有每个人的思考,当然,这篇也是我的思考,如果有些结论有错误,希望能够喷起来 。在批评中不断改进,与诸君共勉一句话:若批评无意义,则赞美无意义 。
01 特点1.1 http的特点
- 基于tcp/ip、一种网络应用层协议、超文本传输协议HyperText Transfer Protocol
- 工作方式:客户端请求服务端应答的模式
- 快速:无状态连接
- 灵活:可以传输任意对象,对象类型由Content-Type标记
- 客户端请求request消息包括以下格式:请求行(request line)、请求头部(header)、空行、请求数据
文章插图
服务端响应response也由四个部分组成,分别是:状态行、消息报头、空行、响应正文
文章插图
1.2 请求方法
http请求可以使用多种请求方法 。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法 。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法 。
- 1 GET 请求指定的页面信息,并返回实体主体 。
- 2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
- 3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件) 。数据被包含在请求体中 。POST请求可能会导致新的资源的建立和/或已有资源的修改 。
- 4 PUT 从客户端向服务器传送的数据取代指定的文档的内容 。
- 5 DELETE 请求服务器删除指定的页面 。
- 6 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 。
- 7 OPTIONS 允许客户端查看服务器的性能 。
- 8 TRACE 回显服务器收到的请求,主要用于测试或诊断 。
【我终于知道post和get的区别】http协议最常见的两种方法GET和POST,这几点答案其实有几点并不准确
- 请求缓存:GET 会被缓存,而post不会
- 收藏书签:GET可以,而POST不能
- 保留浏览器历史记录:GET可以,而POST不能
- 用处:get常用于取回数据,post用于提交数据
- 安全性:post比get安全
- 请求参数:querystring 是url的一部分get、post都可以带上 。get的querystring(仅支持urlencode编码),post的参数是放在body(支持多种编码)
- 请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制
针对上面常见的区别,如果面试的时候这么说,肯定是有很大的毛病,刚在学校面试的时候也曾经囫囵吞枣地这样说过,现在回过头再想以前的错误认知,又有许多新的认识 。
2.1 误区一
“用处:get常用于取回数据,post用于提交数据”
曾听到过这样一种说法:get替换post来优化网站性能,虽然这种说法没错,也的确get常被用于取回数据,但是post也被一些ui框架使用于取回数据,比如kendo ui中的grid,就是用post来接受数据的 。所以结论是get、post用途也是因地制宜 。如果你有使用过kendo UI,会发现分页、过滤、自定义的参数都包含在form data里面 。
请求参数
get是querystring(仅支持urlencode编码),post是放在body(支持多种编码)
query参数是URL的一部分,而GET、POST等是请求方法的一种,不管是哪种请求方法,都必须有URL,而URL的query是可选的,可有可无 。
2.2 误区二
“请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制”
推荐阅读
- 蔡军,加强国际交流 推动我国茶产业世界化
- 安溪县,茶叶品质安全我先行
- 秋季脾胃虚寒吃什么 脾胃虚寒的人吃什么好
- 梦见别人送给我狗是什么意思 梦到把狗送给别人了
- 大多数人不知道的身体秘密 女人的身体秘密
- 新能源汽车充电新姿势,你知道多少?
- 梦见死人复活要带我走 梦见死人复活送我东西
- 怎么知道自己的酒量有多大,酒量大的是不是就是肝脏好
- 5000块以下的皮鞋怎么保养?
- 泊位停车练习中的几个专业术语