加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

都2019年了,还问GET和POST的区别

发布时间:2019-02-14 23:52:46 所属栏目:建站 来源:佚名
导读:1.前言 最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别。 2. 标准答案 在开撸之前吗,让我们先看一下标准答案长

上面代码就是简单的打印请求报文然后返回 HelloWorld 的 html 页面,我们运行起来

  1. [root@chengqm shell]# python httpserver.py  
  2. Serving HTTP on port 23333 ... 

然后从浏览器中请求看看

都2019年了,还问GET和POST的区别

打印出来的报文

都2019年了,还问GET和POST的区别

然后就可以手动证明上述说法,比如说要测试 header 和 body 是否分开传输,由于代码没有返回 100 状态码,如果我们 post 请求成功就说明是一起传输的(Chrome/postman)。

都2019年了,还问GET和POST的区别

又比如 w3school 里面说 URL 的最大长度是 2048 个字符,那我们在代码里面加上一句计算 uri 长度的代码

  1. ...  
  2. # 解析首行  
  3. first_line_array = request.split('rn')[0].split(' ')  
  4. print('uri长度: %s' % len(first_line_array[1]))  
  5. ... 

我们用 postman 直接发送超过 2048 个字符的请求看看

都2019年了,还问GET和POST的区别

然后我们可以得出结论,url 长度限制是某些浏览器和服务器的限制,和 HTTP 协议没有关系。

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读