HTTP 请求:GET vs. POST

HTTP 请求:GET vs. POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
 
GET:从指定的资源请求数据。
           一般用于 信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符。
          注释:GET 方法可能返回缓存数据。
POST:向指定的资源 提交要处理的数据。
          一般用于修改服务器上的资源,对所发送的信息没有限制。
POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
GET 还是 POST?
与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。
然而,在以下情况中,请使用 POST 请求:
  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
GET方式需要使用 Request.QueryString 来取得变量的值
POST方式通过 Request.Form 来获取变量的值
也就是说 Get 是通过地址栏来传值,而 Post 是通过提交表单来传值。
 
 
一个完整的HTTP请求过程,通常有下面7个步骤:
1.建立TCP链接;
2.web浏览器向web服务器发送请求命令;
3.web浏览器向web服务器发送请求头信息;
4.web服务器应答;
5.web服务器发送应答头信息;
6.web服务器向浏览器发送数据;
7.关闭TCP链接;

一个HTTP请求一般由四部分组成:
1.HTTP请求的方法或动作,比如get/post;
2.正在请求的URL;
3.请求头,包含一些客户端环境信息,身份验证信息等;
4.请求体,即请求正文。包含客户提交的查询字符串信息,表单信息等等;

一个 HTTP响应一般由三部分组成:
1.一个数字和文字组成的状态码,用来显示请求是成功还是失败;
2.响应头,和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等;
3.响应体,即响应正文;

HTTP状态码3位数字构成,其中首位数字定义了状态码的类型:
 
1xx:信息类,表示收到web浏览器请求,正在进一步处理中;
2xx:成功,表示用户请求被正确接收,理解和处理。例如:200 ok
3xx:重定向,表示没有成功,客户必须采取进一步的动作
4xx:客户端错误,表示客户端提供的请求有错误,
  例如: 400 NOT FOUND 表示请求中所引用的文档不存在
5xx:服务器错误,表示不能完成对请求的处理。例如:500
 
 
补充:
HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
HTTP是一个基于TCP/IP通信协议来传递数据
 
 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值