`
bjlf1105
  • 浏览: 25471 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于Get和Post以及请求的进一步理解

阅读更多

GET与POST,是HTTP协议中的内容,表示客户端向服务器递交请求的方法,GET/POST…等方法在协议中的大概用意是
GET – 获取资源信息
POST – 提交信息
DELETE – 删除资源
HEAD – 响应中不要包含消息体
PUT –创建或修改资源
等等
99.99%的情况下,我们只跟GET/POST方法打交道,其它方法,可忽略,不用管它们
Web容器在接收到请求之后,会调用service()方法来处理各种请求,service()方法会根据HTTP HEAD中包含的方法定义(GET还是POST)来调用doGet()或doPost()或其它方法
一般情况下,建议不要直接覆盖service()方法,而是覆盖doGet()和doPost()方法即可!

 

          什么情况下,浏览器会发出GET请求?
你直接在浏览器地址栏输入URL地址,然后回车,访问网址的时候
页面上有一个<a href=“http://xx/xxx.xx”>xxx</a>链接,你点击这个链接访问的时候
页面上有一个表单(form),你明确定义了method=“GET”的时候
你通过javascript代码:window.location.href = “http://xxx.xxx.xx”来刷新当前页面的时候
除非你明确定义method=“POST”,否则总是会发出GET请求
          什么情况下,浏览器会发出POST请求?
页面上有一个表单(form),你明确定义了method=“POST”的时候
如何得知浏览器发出的是什么请求?
你可以用httplook这个工具,拦截所有的HTTP访问,查看其HTTP HEAD
你可以用firefox,下载它的一个插件:HttpFox

 

GET 请求通过在URL地址后面附加参数的形式来向后台递交数据
POST 请求则通过HTTP HEAD来递交数据(即不会出现在URL地址的后面)
由于GET是将参数附加在URL地址的后面,所以,它的长度可能会受到浏览器的限制(在HTTP协议中,没有参数长度上限的说法,如果参数长度受限,都是由于特定的浏览器或服务器导致的);POST请求的数据长度一般不会受限

 

通过表单向后台递交数据的过程中:在客户端,GET与POST的主要区别在于是否是通过URL地址来传参,GET使用起来很方便,但不适合大批数据的传输,POST则需要定义一个form元素才可以使用(稍微麻烦一点),所以大批数据提交请用POST要方便数据量少,请用GET
在服务器端呢?在服务器端,一般情况下无需关注是GET还是POST方法提交的数据!不管是GET还是POST,对于服务器端来说,其接收从客户端传递过来的参数的过程都是完全一样的 !后台通过request.getParameter()来处理get或者post请求向后台递交的参数。

 

浏览器什么时候,会向服务器发起请求:
 我们在浏览器地址栏输入网址,敲回车
 我们刷新页面
 我们用javascript去向后台发起请求
 覆盖window.location.href
 调用form对象的submit()方法
 浏览器解释到网页中包含URL地址的元素时
    link – CSS文件
    script – JS文件
    frame
    iframe
    img
    等等

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    c++ boost asio http get post请求

    在`boost_asio_http_sample`这个压缩包中,应该包含有完整的示例代码,你可以通过查看这些代码来进一步学习和理解如何在C++中使用Boost.Asio实现HTTP GET和POST请求。记得根据实际需求进行修改,例如处理HTTPS连接、...

    ios-封装GET、POST请求(基于AFNetworking).zip

    本项目"ios-封装GET、POST请求(基于AFNetworking).zip"就是针对AFNetworking进行二次封装,简化了GET和POST请求的使用方式,使得开发者能够更加高效地进行网络编程。 首先,我们来看一下AFNetworking的核心组件。...

    Python实现简单的HTTP服务器(GET/POST)

    本文将深入探讨如何使用Python实现一个简单的HTTP服务器,支持GET和POST请求。通过理解这个过程,你可以更好地理解网络通信的基本原理,以及Python在网络编程中的应用。 首先,让我们了解HTTP(超文本传输协议)的...

    Java发送HTTP请求GET/POST测试

    压缩包中的`TestURLReceive`可能是一个测试类或者包含测试功能的文件,可能包含对上述GET和POST请求的实现,以及可能的异常处理和结果验证逻辑。通过分析这个文件,你可以进一步了解实际项目中如何组织和使用这些...

    GET与POST用法

    根据提供的内容,我们可以进一步理解GET方法的具体应用场景及其实现方式。 ##### 实现方式 在示例代码中,`CHttpFile`类被用来实现简单的GET数据操作。首先,定义了一个字符串`strWriteName`来指定保存文件的名字...

    HTTP上传和下载C++封装类支持GET、POST多种方式

    通过这个类,开发者可以方便地在C++应用程序中实现HTTP的上传和下载功能,无论数据是文本还是二进制格式,无论是GET还是POST请求。这样的封装提高了代码的可复用性和易用性,降低了网络编程的复杂度。

    C# url post get json

    2. **POST请求**: - 创建一个`HttpContent`对象,包装要发送的数据。对于JSON,可以使用`StringContent`,如`var content = new StringContent(json, Encoding.UTF8, "application/json");` - 调用`PostAsync`,...

    ajax以GET和POST方式调用WCF

    本文将详细讲解如何使用Ajax以GET和POST方式调用WCF服务,包括带参数和不带参数的情况。 首先,我们需要理解Ajax的基本原理。Ajax通过JavaScript创建XMLHttpRequest对象,然后利用这个对象与服务器进行异步通信。...

    IE插件直接观察http协议执行细节捕获POST和GET方法.rar

    2. 查看GET和POST请求的具体参数,了解数据如何传递。 3. 分析请求头和响应头中的Cookie、缓存策略、编码格式等信息。 4. 检查服务器返回的状态码,以确定请求是否成功。 5. 对比不同优化策略对页面加载速度的影响。...

    Android-基于OkHttp链式调用的网络请求库支持同步的GETPOST;异步的GETPOST;

    本文将详细解析如何利用OkHttp实现基于链式调用的同步和异步GET、POST请求。 首先,我们需要理解OkHttp的核心概念。OkHttp是一个HTTP客户端,它的设计目标是减少网络延迟,提高应用程序的性能。它通过缓存响应数据...

    HarmonyOS @ohos.net.http 网络GET、POST请求封装

    在 HarmonyOS 中,你可以创建一个 `HttpRequest` 对象来初始化请求,并设置请求方法(GET 或 POST)、URL、头部信息以及请求体。GET 请求主要用于获取服务器上的数据,而 POST 请求则常用于提交数据到服务器。 GET ...

    C# WebService 客户端 服务器 Get Post

    为了支持GET和POST请求,我们需要在方法上添加WebMethod特性,并可选地添加SoapDocumentMethod或SoapRpcMethod特性来指定HTTP方法类型。 ```csharp [WebMethod] public string GetGreeting(string name) { return ...

    GET-AND-POST.rar_ post CSharp _C# GET POST_CSharp post_POST_pos

    本资源“GET-AND-POST.rar”显然是针对C#编程语言中如何使用GET和POST方法进行深入探讨,特别是关于C#实现HTTP请求以及处理cookie的部分。以下是围绕这些主题的详细知识点: 1. **GET方法**: - GET是最基本的HTTP...

    使用PowerShell发送POST / GET请求

    通过阅读"Sending-POST-GET-Requests-with-PowerShell.pdf"文档,您可以获得更详细的步骤和示例,进一步掌握使用PowerShell进行网络请求的技能。记住,实践是掌握任何技术的最佳途径,尝试编写自己的脚本并应用于...

    thinkPHP5.1框架路由::get、post请求简单用法示例

    在本文中,我们将深入探讨如何在ThinkPHP5.1框架中使用路由来处理GET和POST请求,以及如何在控制器和视图中实现简单的交互。首先,让我们了解什么是路由及其在框架中的作用。 **1. 路由简介** 在ThinkPHP5.1中,...

    PB11.2编写POST接口样例

    首先,我们需要了解POST请求的基本概念。在HTTP协议中,POST请求常用于向服务器发送数据,比如提交表单或者上传文件。在PB11.2中实现POST接口,我们通常会使用HTTP客户端库或者自定义网络通信组件来完成这个任务。 ...

    http get post 实现

    在Go语言中,实现HTTP GET和POST请求主要通过`net/http`标准库。首先,导入必要的包: ```go import ( "fmt" "net/http" ) ``` GET请求的实现如下: ```go func doHttpGet(url string) (*http.Response, error)...

    php变量直接访问get,post,session,server值

    例如,`$_SERVER['REMOTE_ADDR']`返回客户端的IP地址,`$_SERVER['REQUEST_METHOD']`告诉你是GET还是POST请求,`$_SERVER['PHP_SELF']`是当前执行脚本的路径和文件名。 EzPageVar.php这个文件可能是一个自定义的PHP...

    Http简单通信类包含get和post实现

    在IT行业中,HTTP(超文本传输...通过这个类,我们可以方便地发起GET和POST请求,并在请求完成后接收到服务器的响应。在实际项目中,还可以进一步完善这个类,例如添加错误处理、超时重试等功能,以提高代码的健壮性。

Global site tag (gtag.js) - Google Analytics