一般来说,存在数据交互的网站都分为两个部分:前端与后台(也就是运行在Browser上的网页,存放服务器上的数据处理程序和数据库)。
分别存放在不同机器上的 网页 与 数据/处理程序,究竟是通过何种方式进行交互的?
网页与服务器间的数据交互模型是一种请求(request)——响应(response)模型,如下图:
网页发送请求数据(request)到服务器,经由服务器的处理程序处理过后,再返回响应数据(response)给网页,从而改变网页,实现用户要求。
html页里面包含大量数据和信息,要求服务器处理的只是其中的小部分,对于这小部分数据,网页会通过form打包成表单,传送给服务器,
服务器获取表单后,对表单中的数据进行处理,最后响应网页请求。
因此要传送给服务器的数据要写在表单(form)内。
另外,我们可以指定网页请求的传送方式,get和post,通过form表单的method指定,
其中get(默认)是通过URL传递,每当传递表单的时候,网页上方的URL都会显示表单中的数据,而且传送的数据量有限(浏览器、服务器的限制);
post则是隐藏到http报文中,URL不会改变,可以传送大量数据,当刷新页面时,会提示需要重新提交表单,而get没有这种问题。
关于get和post,http与html的规定并不一致,具体可以参考
当然,一个网页上可以有多个表单,一台服务器上也可以有多个处理程序,不同的表单可以指定由不同的处理程序进行数据处理。
对于处理程序,如果从代码的角度来说,只有请求到来的时候才会执行处理程序中处理数据的代码。