表单在页面操作中很常见,比如提交用户信息,留言等。那么表单提交到哪里,表单以什么形式提交(post or get)?表单提交的过程是神马?
现在就回顾一下吧:-D
一 什么是HTTP协议
二 Server与浏览器
三 get 和 post的区别
开始~
一 什么是HTTP协议
HTTP:hypertext transport protocol;
协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
二 WebService与浏览器
我们在浏览器URL(Uniform Resource Locator)上输入域名回车,浏览器就向web服务器发送一个request,WebService接到Request进行处理,编译生成相应Response(HTML),然后发送到浏览器。浏览器拿到的Response,推到页面,我们就看到了网页。
URL就是网址:
schema://host[:port#]/path/.../[;url-params][?query-string][#anchor]
http://www.understandHttp.com/example/test.aspx;id=20-178-47?name="migo"&height=20#another
scheme 指定低层使用的协议(例如:http, https, ftp) --http
host HTTP服务器的IP地址或者域名 --www.understandHttp.com
port# HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如 http://www.cnblogs.com:8080/ --默认80
path 访问资源的路径 --/example/test.aspx
url-params id=20-178-47
query-string 发送给http服务器的数据 ,参数,你懂的。一般 ?id=123&role="guide" --name="migo"&height=20
anchor- 锚 --another
Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.
我们看看GET和POST的区别.
1. 在客户端,GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中
2 对于get方式,服务器端(接受的页面)用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
3 GET是从服务器上获取数据,POST是向服务器传送数据。
4. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
5. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.