get和post表单提交方式

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数

普遍解释是:

method:请求方式:get 和post

get:

地址栏,请求参数都在地址后拼接 path?name=张三&password=23456

不安全

效率高

get请求大小有限制,不同浏览器有不同,但是大约是2KB;一般情况用于查询数据

post:

地址栏:请求参数单独处理。

安全可靠些

效率低

post请求大小理论上无限;一般用于插入删除修改等操作

enctype:表示是表单提交的类型

默认值:application/x-www-form-urlencoded 普通表单

multipart/form-data 多部分表单(一般用于文件上传)

然而更深层次方面,我在看了一部分资料后感觉这篇理解得不错:

链接给你放这里,可以直接看后面的,里面牵扯到计算机网络里面的知识,学过计网的朋友们看到后估计都偷偷笑了https://blog.csdn.net/weixin_46046126/article/details/119039393

下面是我的理解,因为是刚学到这里,理解肯定会欠缺(望大佬给出指点):

  1. get传送参数是裸露的,可以直接在URL地址中看到,而post传送参数时被贴上标签,通过request body传递参数。

  1. get在传递参数时,只发送了一次请求,不管你接收方是否在线,传送完之后就等待接收响应(此响应是接收方发送的)。

  1. post传递参数时,会先事先打招呼,如果对面做出相应的响应之后,才会发送参数信息。

上面这些让我联想到tcp/ip里面的三次握手和四次挥手

my idea:其中多次发送请求,和回应。第一次是请求连接,得到回应后便开始发送数据。

发送完之后,要断开连接,互相打招呼后离开。

因为tcp/ip协议主要就是可靠的传输协议,说到底就是安全,这样理解应该没错?!吧。

但是其真实解释比这里难多了

以下是比较官方的解释

原文链接:https://blog.csdn.net/m0_56649557/article/details/119492899

三次握手
  • 第一次握手: 客户端向服务器端发送报文
    证明客户端的发送能力正常

  • 第二次握手:服务器端接收到报文并向客户端发送报文
    证明服务器端的接收能力、发送能力正常

  • 第三次握手:客户端向服务器发送报文
    证明客户端的接收能力正常

四次挥手

第一次挥手 客户端发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态

第二次挥手 服务器端接收到连接释放报文后,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT 关闭等待状态

第三次挥手 客户端接收到服务器端的确认请求后,客户端就会进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文,服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。

第四次挥手 客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态,但此时TCP连接还未终止,必须要经过2MSL后(最长报文寿命),当客户端撤销相应的TCB后,客户端才会进入CLOSED关闭状态,服务器端接收到确认报文后,会立即进入CLOSED关闭状态,到这里TCP连接就断开了,四次挥手完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值