form到底提交到了哪?
<form>标签有两个最常用的属性,一个是action,一个是method。
这里的action="",引号里的内容就是提交到服务端的http协议头的url部分。
一开始我写的是action="/index.html",但是每次点提交都会刷新下页面,我一开始还以为是本来就这样,
但我用自己写的Tomcat迷你版看了一下,idea那里收到的http协议是这样的。
撒我一开始以为是因为刷新了页面重新提交了申请html文件的这个请求,直到我把action的值改成action="/index.html/asd"
这下idea收到的http请求变成了这样:
现在可以看出action的内容就是form表单提交的url,感觉自己又对前端了解的更深入了。
method里的post或者get就是http的请求方式,两者虽然功能差不多但是还是有一些细微的差异的。
Post和Get的区别
get
是form默认的提交方式
如果通过一个超链访问某个地址,是get方式
如果在地址栏直接输入某个地址,是get方式
提交数据会在浏览器显示出来
不可以用于提交二进制数据,比如上传文件
post
必须在form上通过 method="post" 显示指定
提交数据不会在浏览器显示出来
可以用于提交二进制数据,比如上传文件