HTTP协议,GET/POST学习心得

大家好,今天由作为实习生的我来分享我对HTTP协议中GET、POST的认识。
通过学习,我了解到HTTP是一个客户端和服务器端请求和应答。客户端与服务器之间的交互用到了两种类型
的消息:请求(Request)和响应(Response)。而HTTP的请求方法又分为以下几点:OPTIONS、HEAD 、GET 、
POST 、PUT 、DELETE 、TRACE 、CONNECT 。今天我们重点交流GET和POST的作用。
在GET中
1.请求可被缓存请求保留在浏览器历史记录中
2.请求可被收藏为书签
3.请求不应在处理敏感数据时使用
4.请求有长度限制
5.请求只应当用于取回数据
在POST中:
1.请求不会被缓存
2.请求不会保留在浏览器历史记录中
3.不能被收藏为书签
4.请求对数据长度没有要求
5.当用户按后退或者刷新按钮时,数据会被重新提交
二、
  GET:
  参数是通过Url来传输,接在Url后面中间用?分开,不同参数之间用&分开,下面表示传递两个参数param1和param2,值为value1和value2。例如:http://songurl/index.htm?param1=value1&param2=value2
  POST:
  html页面中使用form表单提交,接收方式,使用Request.Form[""]或Request.QueryString[""]来获取。
  
  具体代码内容引用博主niuniu7107:


get 方式通过在网络地址附加参数来完成数据的提交,比如在地址 http://www.google.com/webhp?hl=zh-CN 中,前面部分 http://www.google.com/webhp 表示数据提交的网址,后面部分 hl=zh-CN 表示附加的参数,其中 hl 表示一个键(key), zh-CN 表示这个键对应的值(value)。程序代码如下:


1.            HttpWebRequest req = (HttpWebRequest) 
HttpWebRequest.Create( "http://www.google.com/webhp?hl=zh-CN" );  
2.            req.Method = "GET";  
3.            using (WebResponse wr = req.GetResponse())  
4.            {  
5.            //在这里对接收到的页面内容进行处理  
6.            }  


post方式通过在页面内容中填写参数的方法来完成数据的提交,参数的格式和 get 方式一样,是类似于 hl=zh-CN&newwindow=1 
这样的结构。程序代码如下:
7.            string param = "hl=zh-CN&newwindow=1";  
8.            byte[] bs = Encoding.ASCII.GetBytes(param);  
9.            HttpWebRequest req = (HttpWebRequest)
HttpWebRequest.Create( "http://www.google.com/intl/zh-CN/" );  
10.        req.Method = "POST";  
11.        req.ContentType = "application/x-www-form-urlencoded";  
12.        req.ContentLength = bs.Length;  
13.        using (Stream reqStream = req.GetRequestStream())  
14.        {  
15.        reqStream.Write(bs, 0, bs.Length);  
16.        }  
17.        using (WebResponse wr = req.GetResponse())  
18.        {  
19.        //在这里对接收到的页面内容进行处理  
20.        }  
在安全性上,POST相当对于GET较为安全,但两者都均并不是真实的安全,如果要让敏感信息得到保障,最好还是对信息进行加密。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值