post 和 get 方式的区别?
参考https://www.zhihu.com/question/31640769
POST:会打包你的表单变量,在后台把他们发送到服务器。
GET:也会打包表单变量,但会把这些数据追加到URL后面,然后发送到服务器。
- 在安全性方面,POST比较有优势,日志没有记录,只要数据库服务器不被入侵,基本还是安全的,但如果被抓了包,这一切都没有什么卵用。
- 若发送的表单数据比较大,GET请求对发送的数据量限制比较紧,因此发送大量数据用POST。
GET的优势:
- 请求中的URL可以被手动输入
- 请求中的URL可以被存在书签里,或者历史里,或者快速拨号里面,或者分享给别人。
- 请求中的URL是可以被搜索引擎收录的。
- 带云压缩的浏览器,比如Opera mini/Turbo 2, 只有GET才能在服务器端被预取的。
- 请求中的URL可以被缓存。
从RESTful角度理解:https://www.zhihu.com/question/27622127
通俗理解RESTful将其看做API
GET:无副作用,幂等,不可带 Request Body
PUT:副作用,幂等,可以带 Request Body
POST:副作用,非幂等,可以带 Request Body
DELETE:副作用,幂等,不可带 Request Body
在input里,name 有什么作用?
由于表单提交的数据一般都是以key:value(键值)的方式提交,所以input中的name属性主要用来标识提交的数据的key值,好让服务器处理程序分辨。只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。
radio 如何 分组?
在同一个form表单中,相同name值的radio为一组。
在不同的form表单中radio,即使name值相同,也不为一组。
placeholder 属性有什么作用?
<input type="text" name="name" placeholder="填写姓名">
为你提供一个提示,告诉你填什么内容。
但在text<input>元素中的value属性可以可以用来为文本输入控件提供一个初始值,这个值能使placeholder内容不再显示。
type=hidden隐藏域有什么作用? 举例说明
<input type="hidden" name="abcd" value="123456">
其也可以提交给服务器,作用是:
- 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
- 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey,等等.当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。
- 有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick="document.form.command.value="xx""然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
- 有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
- JavaScript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
- 还有个例子,比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。