文档章节

HTML提交方式post和get区别

o
 osc_wws45aot
发布于 2019/08/20 14:35
字数 1391
阅读 13
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

 

HTML提交方式post和get区别(实验)

 

 

 

一、post和get区别

 

get提交,提交的信息都显示在地址栏中。
post提交,提交的信息不显示地址栏中,显示在消息体中。

 

 

 

 

二、客户端代码

 

复制代码
<!DOCTYPE html>
<html>
<head>
<title>Form.html</title>

<meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=GB2312">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

</head>

<body>
    <!--
提交方式:get提交。
地址栏:http://localhost:9891/?user=abc&psw=123&repsw=123&sex=nan&tech=java&tech=html&country=cn
        
GET /?user=abc&psw=123&repsw=123&sex=nan&tech=java&tech=html&country=cn HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: zh-cn,zu;q=0.5
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)
Host: localhost:9891
Connection: Keep-Alive


提交方式:POST
地址栏:http://localhost:9891/

POST / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: zh-cn,zu;q=0.5
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)
Host: localhost:9891
Content-Length: 68
Connection: Keep-Alive
Cache-Control: no-cache

user=hahah&psw=8989&repsw=8989&sex=nv&tech=html&tech=css&country=usa
        
        
        
        GET提交和POST提交的区别?
        1,
        get提交,提交的信息都显示在地址栏中。
        post提交,提交的信息不显示地址栏中。
        
        2,
        get提交,对于敏感的数据信息不安全。
        post提交,对于敏感信息安全。
        
        3,
        get提交,对于大数据不行,因为地址栏存储体积有限。
        post提交,可以提交大体积数据。 
        
        4,
        get提交,将信息封装到了请求消息的请求行中。
        post提交,将信息封装到了请求体中。
        
        在服务端的一个区别。
        如果出现将中文提交到tomcat服务器,服务器默认会用iso8859-1进行解码会出现乱码,
        通过iso8859-1进行编码,在用指定的中文码表解码。即可。
        这种方式对get提交和post提交都有效。 
        
        但是对于post提交方式提交的中文,还有另一种解决办法,就是直接使用服务端一个对象
        request对象的setCharacterEncoding方法直接设置指定的中文码表就可以将中文数据解析出来。
        这个方法只对请求体中的数据进行解码。 
        
        
        综上所述:表单提交,建议使用post。
        
        
        
        和服务端交互的三种方式:
        1,地址栏输入url地址。get
        2,超链接。 get
        3,表单。 get 和  post
        

        
        如果在客户端进行增强型的校验(只要有一个组件内容是错误,是无法继续提交的。只有全对才可以提交)
        问,服务端收到数据后,还需要校验吗?
        需要,为了安全性。
        为了信息安全,也为了客户端那边不要乱提交数据,客户端和服务端都需要做校验。
        
        如果服务端做了增强型的校验,客户端还需要校验吗?
        需要,因为要提高用户的上网体验效果,减轻服务器端的压力。
        
        
        -->
    表单格式化
    <br>
    <!-- action里面的http协议不能忘记 -->
    <form action="http://localhost:9891" method="post">
        <!-- 
             cellpadding 属性规定单元边沿与其内容之间的空白。
             注释:请勿将该属性与 cellspacing 属性相混淆,cellspacing 属性规定的是单元之间的空间。
             从实用角度出发,最好不要规定 cellpadding,而是使用 CSS 来添加内边距。
         -->
        <table border="1" bordercolor="#00ffff" cellpadding=10 cellspacing=0
            width=400>
            <!-- 由此可见,<th>和<td>标签都是用于表格单元格显示的。不同的是<th>在单元格中加粗显示。 -->
            <tr>
                <!-- 占两列 -->
                <th colspan="2">注册表单</th>
            </tr>
            <tr>
                <td>用户名称</td>
                <td><input type="text" name="user" value=""><br /></td>
            </tr>
            <tr>
                <td>输入密码</td>
                <td><input type="password" name="pwd" /><br /></td>
            </tr>
            <tr>
                <td>确认密码</td>
                <td><input type="password" name="repwd" /><br /></td>
            </tr>
            <tr>
                <td>选择性别</td>
                <td><input type="radio" name="sex" value="nan" />男 <input
                    type="radio" name="sex" value="nv" checked="checked" />女<br /></td>
            </tr>
            <tr>
                <td>选择技术</td>
                <td><input type="checkbox" name="tech" value="java" />JAVA <input
                    type="checkbox" name="tech" value="html" />HTML <input
                    type="checkbox" name="tech" value="css" />CSS <br /></td>
            </tr>
            <tr>
                <td>选择国家</td>
                <td><select name="country">
                        <option value="none">--选择国家--</option>
                        <option value="usa">美国</option>
                        <option value="en">英国</option>
                        <!-- 默认选择中国 -->
                        <option value="cn" selected="selected">中国</option>
                </select></td>
            </tr>
            <tr>
                <th colspan="2"><input type="reset" value="清除数据" /> <input
                    type="submit" value="提交数据" /></th>
            </tr>
        </table>
    </form>
</body>
</html>
复制代码

 

 

 

 

三、服务器端代码

 

RegServer.java

 

复制代码
1 /**
 2  * 
 3  */
 4 package cn.itcast.server;
 5 
 6 import java.io.IOException;
 7 import java.io.InputStream;
 8 import java.io.PrintWriter;
 9 import java.net.ServerSocket;
10 import java.net.Socket;
11 
12 /**
13  * @author Fry
14  *
15  */
16 public class RegServer {
17 
18     /**
19      * @param args
20      * @throws Exception 
21      */
22     public static void main(String[] args) throws Exception {
23         
24         ServerSocket ss = new ServerSocket(9891);//新建服务端端口
25         
26         Socket s = ss.accept();//端口监听
27         //输出服务器主机地址 ans:0:0:0:0:0:0:0:1
28         System.out.println(s.getInetAddress().getHostAddress());
29         InputStream in = s.getInputStream();//字节输入流,用来接收客户端消息
30         byte[] buf = new byte[1024];//1024字节的缓存
31         int len = in.read(buf);//将收到的消息读到buf中
32         //输出接收到的页面消息 包括消息行  消息头  消息体
33         System.out.println(new String(buf,0,len));
34         //字符输出,用来存储发送给客户端的消息
35         PrintWriter out = new PrintWriter(s.getOutputStream(),true);
36         //客户端接收到的消息
37         out.println("<font color='green' size='7'>注册成功</font>");
38         //关闭端口
39         s.close();
40         ss.close();
41     }
42 
43 }
复制代码

 

 

 

 

四、结果

 

 

转载自https://www.cnblogs.com/Renyi-Fan/p/6930635.html

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
tiny php template--TPT

关于TPT TPT是php实现的用于模板解析小工具,全部实现仅仅60行代码。 配置 DIRCOMPILED和DIRTEMPLATE,分别表示模版编译目录和模版文件目录: define('DIRCOMPILED','/compileddiy');define(......

红猪-侠
2013/03/03
1K
1
JavaScript 模板引擎--fragment.js

Fragment.js 允许你加载 html 碎片到任何元素中,只需要使用 data-fragment 属性。 <div data-fragment="fragment.html"></div> 也可通过 JSON 进行加载,如: <div data-fragment-json="fra......

匿名
2013/03/24
2.4K
0
Python开发者社区整站源码--Pythoner

pythoner.net 整站源代码 依赖模块 Django 1.4.2 PIL DjangoVerifyCode 0.2.2 开发环境配置 运行scripts目录下的setupenv.sh文件,将会自动安装配置所需环境 设置本地环境变量:export env=D...

~T.y~
2013/04/10
3.2K
0
Html2Image

Html2Image 是一个 Java 类库,可将 HTML 存为 GIFPNG 和 JPG 图像,并通过 <map> 元素让该图片可点击。 示例代码: HtmlImageGenerator imageGenerator = new HtmlImageGenerator(); imageG......

匿名
2012/10/21
1.1W
2
简单邮件联系页面带飞信通知模块

一个简单的“发邮件给我”的页面,支持HTML邮件编辑,支持附件发送,支持飞信短信提醒。里面有很多可以定制的地方,包括邮件的发送方式、前端页面的设计等等。 如果你也跟我一样喜欢通过邮件...

leehorsley
2012/10/22
1.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

【实用技巧】MAC苹果电脑怎么远程?

一般电脑远程包括三方面: 1、如果从外部windows或者linux终端连接到mac苹果电脑; 2、从苹果电脑内如何远程外面的windows、linux和mac等; 3、苹果和安卓手机怎么远程连接苹果/Windows电脑。...

osc_doeya1ck
43分钟前
22
0
虚拟主机和VPS主机有哪些不同点呢

虚拟主机是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。vps主机是将一台服务器分割成多个虚拟专享服务器的服务。实现VPS的技术分为容器技术和虚拟机技术...

osc_b88oux8w
45分钟前
19
0
合理的使用MySQL乐观锁与悲观锁

针对 MySQL的乐观锁与悲观锁的使用,基本都是按照业务场景针对性使用的。针对每个业务场景,对应的使用锁。 但是两种锁无非都是解决并发所产生的问题。下面我们来看看如何合理的使用乐观锁与...

php开源社区
45分钟前
9
0
fusionpbx 中文 汉化

  自己以前有从事过呼叫中心的工作经验,然而由于自己是从事后端开发,对于前端界面的开发还是有些吃力,但是自己却又想自己搭建一套呼叫中心,所以购买了一台云服务器并克隆了FusionPBX的...

osc_ydeb2o99
47分钟前
12
0
关于大O表示法和小O表示法

上节课老师讲了一下各种表示法,当时没咋听懂,后来查了一些资料弄懂了,记录一下。 主要是从维基百科上看的。http://en.wikipedia.org/wiki/Big_O_notation 大O表示法: f(x) = O(g(x)) 表示...

osc_3mzamgkq
48分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部