HTML【2】表单提交与服务层的模拟(详解get与post提交方式的不同)_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:38:14
原创
1355人浏览过

      在html【1】中已经说明了html编程的基本方式,最后说到了表单提交的方式有get和post方式,那么到底什么是get/post 方式呢,两者有什么区别?现在我就具体的介绍一下。

      首先回顾一下表单的基本编程,代码如下:

<form action="http://localhost:9090" method="post"> 	<table  border="1" bordercolor='#0000ff'cellpadding="10" cellspacing="0" width=600 > 	 	<tr> 			<th colspan="2">注册表单 </th> 		</tr> 		<tr> 			<th>用户名称:</th> 			<td> <input type="text"name="user"value=""/> </td> 		</tr> 		<tr> 			<th>性别:</th> 			<td><input type="password"name="pass"/></td> 		</tr> 		<tr> 			<th>选择性别:</th> 			<td> 				<input type="radio"name='sex'value="man"/>男  				 <input type="radio"name='sex'value="woman"checked="checked"/>女 			</td> 		</tr> 		<tr> 			<th>选择技术:</th> 			<td> 				<input type="checkbox"name="tech"value="java"/>Java <input type="checkbox"/>C++<input type="checkbox"/>HTML 			</td> 		</tr> 		<tr> 			<th>选择国家:</th> 			<td> 			<select name="country"> 			<option value="none">---选择国家---</option> 			<option value="USA" selected="selected">美国</option> 			<option value="CN">中国</option> 			<option value="EN">英国</option> 			<option value="GER">德国</option>		 		</select> 			</td> 		</tr> 		<tr> 			<th colspan="2"> 			<input type="reset"value="清除数据">	<input type="submit"value="提交数据"/> 			</th> 			 		</tr> 	</table> </form>
登录后复制

其中method="post"是post方式,默认的(我们也可以指定)为get方式。那么两者有什么区别呢?

         这里先进行一下这样的思考,既然是提交,那向什么地方提交呢?答案是肯定的,HTML网页向服务器提交表单数据,既然想到服务器那么就会想到tomcat,同时也必须想到可以自己编写一个Java程序来模拟tomcat的服务。

立即学习前端免费学习笔记(深入)”;

         具体的过程如下,首先ServerSocket监听一个端口,相对应的HTML的action =“http://localhost:9090”表示数据提交到本地主机的9090端口,当ServerSocket监听到有HTML对这个端口进行连接,就accept这个Socket对象,然后就可以读取http交互的信息。具体的代码如下:

	public static void main(String[] args) throws IOException {		// 接收表单的数据		ServerSocket ss = new ServerSocket(9090);		Socket s = ss.accept();		System.out.println(s.getInetAddress().getHostAddress());				InputStream in = s.getInputStream();		byte[]  buf = new byte[1024];		int len = in.read(buf);		System.out.println(new String(buf,0,len));				PrintWriter out = new PrintWriter(s.getOutputStream(),true);		out.println("<font color='green'size=7>注册成功</font>");				s.close();		ss.close();	}}
登录后复制

那么咱们运行一下:

当提交方式是get的时候,收到的返回信息是:


          下面的是标签栏的内容。


可以发现,他的所有数据在请求行的时候就会显示出来(并在标签栏里就显示)显然这是非诚不安全的。

        下面是使用post返回的http的内容,照片如下:


       可以看出它将提交的内容全部封装到空行之后的内容里,并且标签栏里面没有显示任何东西,显然这是相对比较安全的。

       好了,它俩具体的区别如下:

1.从安全性看get 2.从提交的内容大小看get 3.从请求响应速度看,get>post,get要求服务器立即处理请求,而post请求可能形成一个队列。


版权声明:本文为博主原创文章,未经博主允许不得转载。

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号