HTTP-GET 和 HTTP-POST
2016-05-24 17:35
239 查看
HTTP-GET 和 HTTP-POST
HTTP-GET和HTTP-POST是标准协议,他们使用HTTP(超文本传输协议)谓词(谓词是指条件表达式的求值返回真或假的过程。)对参数金星编码并将参数作为名称/值对传递,还使用关联的请求语义。每个协议都包含一系列HTTP请求标头,HTTP请求标头及其他一些信息定义客户端向服务器请求哪些内容,哪个服务器用一系列HTTP响应标头和所请求的数据进行响应。HTTP-GET 使用 MIME 类型 application/x-www-form-urlencoded(将追加到处理请求的服务器的 URL 中)以 URL 编码文本的形式传递其参数。 URL 编码是一种字符编码形式,可确保传递的参数中包含一致性文本,例如将空格编码为 %20,其它符号转换为%XX,其中XX为该符号以16进制表示的ASCII(或ISO Latin-1)值。 追加的参数也称为查询字符串。
与 HTTP-GET 类似,HTTP-POST 参数也是 URL 编码的。 但是,名称/值对是在实际的 HTTP 请求消息内部传递的,而不是作为 URL 的一部分进行传递。
Get 和 Post 的区别两点:
[align=left]get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据。[/align][align=left]post方式:就传输方式讲参数会被打包在数据包中传输,从CONTENT_LENGTH这个环境变量中读取,便于传送较大一些的数据,同时因为不暴露数据在浏览器的地址栏中,安全性相对较高,但这样的处理效率会受到影响。[/align]
[align=left][/align]
表单提交中get和post方式的区别归纳如下几点:
[align=left]1.get是从服务器上查询/获取数据,post是向服务器传输数据。[/align]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安全性较高。
6. get是Form的默认方法。
7.一般静态的文件不允许执行POST动作的,如果是动态语言,如aspx文件,一般都是允许post和get的,则应该是都可以返回正确的值
相关文章推荐
- http://poj.org/problem?id=1125 最短路径
- Ajax快速入门
- Android-async-http 网络请求框架(工具类)
- “耳根”发布新作《一念永恒》,刷新武汉网络文学IP版权交易纪录
- 神经网络中的activation function到底扮演什么样的角色
- 网络端口号
- linux下Apache服务器使用入门----httpd.conf
- 完整 httpd.conf 配置详情及中文注解
- JavaScript的XMLHttpRequest对象
- 概率神经网络实现Parzen窗方法
- httpUrlConnection 的 setDoOutput 与 setDoInput
- Android 网络访问框架——Retrofit
- 《图解HTTP》学习笔记(二)-简单的HTTP协议
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core"
- Android中使用Volley框架进行网络请求
- IP分片和TCP分段
- http请求模拟
- post 相比get 有很多优点,为什么现在的HTTP通信中大多数请求还是使用get?
- 社交网络中的共同好友计算(一度好友与二度好友)
- httpclient4.4的简单demo