码迷,mamicode.com
首页 > Web开发 > 详细

HTTP中GET与POST

时间:2016-08-01 23:26:37      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:服务器   信息   资源   

    http是基于请求与响应。请求由三部分组成,分别是:请求行、消息报头、请求正文。

    请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF。其中 Method表示请求方法。

    请求方法(所有方法全为大写)有多种,各个方法的解释如下:

    (1)GET     请求获取Request-URI所标识的资源。
    (2)POST    在Request-URI所标识的资源后附加新的数据。
    (3)HEAD    请求获取由Request-URI所标识的资源的响应消息报头。
    (4)PUT     请求服务器存储一个资源,并用Request-URI作为其标识。
    (5)DELETE  请求服务器删除Request-URI所标识的资源。
    (6)TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断。
    (7)CONNECT 保留将来使用。
    (8)OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求。

    接下来主要介绍两种常用的请求方法:GET和POST。

一、GET

    GET是向服务器发索取数据的一种请求。

    GET是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改。
    GET请求的参数会跟在url后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密。
    GET传输的数据有大小限制,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,不同的浏览器对URL的长度的限制是不同的。
    GET请求的数据会被浏览器缓存起来,用户名和密码将明文出现在URL上,其他人可以查到历史浏览记录,数据不太安全。在服务器端,用Request.QueryString来获取GET方式提交来的数据。

二、POST

    POST是向服务器提交数据的一种请求。

    POST请求作为http消息的实际内容发送给web服务器,数据放置在HTML Header内提交,POST没有限制提交的数据,起限制作用的是服务器的处理程序的处理能力。

    POST表示可能修改变服务器上的资源的请求,在服务器端,用Post方式提交的数据只能用Request.Form来获取。

三、GET与POST的区别

    GET是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。
    POST用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,POST被设计成用统一的方法实现对现有资源的解释、向电子公告栏、新闻组、邮件列表或类似讨论组发信息、提交数据块、通过附加操作来扩展数据库。    

    POST比GET安全,当数据是中文或者不敏感的数据,则用GET,因为使用GET,参数会显示在地址,对于敏感数据和不是中文字符的数据,则用POST。


本文出自 “11441519” 博客,请务必保留此出处http://11451519.blog.51cto.com/11441519/1833029

HTTP中GET与POST

标签:服务器   信息   资源   

原文地址:http://11451519.blog.51cto.com/11441519/1833029

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!