zoukankan      html  css  js  c++  java
  • 表单提交中Get和Post方式的区别及EncType表明提交数据的格式详解

    表单提交中Get和Post方式的区别
    1. get是从服务器上获取数据,post是向服务器传送数据。
    2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
    3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
    4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
    5. get安全性非常低,post安全性较高。
     
    在Form元素的语法中,EncType表明提交数据的格式 
    用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。 
    下边是说明: 
    application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 
    multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 
    text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
     
    补充
    form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。 
    当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。 
    当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 
    如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 
    但是如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符
  • 相关阅读:
    linux之awk命令
    HDU 2097 Sky数 进制转换
    HDU 2077 汉诺塔IV
    HDU 2094 产生冠军 dfs加map容器
    HDU 2073 叠框
    HDU 2083 简易版之最短距离
    HDU 2063 过山车 二分匹配
    天梯 1014 装箱问题
    天梯 1214 线段覆盖
    天梯 1098 均分纸牌
  • 原文地址:https://www.cnblogs.com/top5/p/1955717.html
Copyright © 2011-2022 走看看