Http协议中Get 和 Post的发送内容

遇到这个问题主要原因是在录入JMeter脚本时,原有的HttpSample无法达到请求RequestBody的目的,不得已查看了一些Http协议的简单介绍,最终通过Raw Http插件实现。

Http请求

#一行,描述请求方法、URL、htto协议等信息
<request-line>
#请求头信息
<headers>
<CRLF>

#request body。<headers>使用/r/n占用一行来标记结束
[<request-body><CRLF>]

几点重要备注:

  • request-line中的url一定是使用application/x-www-form-urlencoded编码的,这个与请求方法无关。
  • <headers>Content-Type指明了request body的编码方式。
  • <headers>Content-Length指明了request body的长度,该长度务必等于request-body真正的字符数。少于会导致request-body的确实,多于服务器会等待知道超时才返回已读取的数据(功能没影响,但效率显然差)。

Get请求

GET /hello/index.html HTTP/1.1
#【↑】request line
#【↓】request headers
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Host: localhost:8000
#发送完关闭连接 or 等待
Connection: Keep-Alive
Cookie: JSESSIONID=BBBA54D519F7A320A54211F0107F5EA6

get请求是不存在request body的。

Post请求

#url的部分仍然是urlencoded
POST /hello/checkUser.html?opt=xxx HTTP/1.1
Referer: http://localhost:8000/hello/index.html
Accept: */*
Accept-Language: zh-cn
#纯文本的编码:不编码
Content-Type: text/plain
Accept-Encoding: gzip, deflate
Host: localhost:8000
Content-Length: 20
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JSESSIONID=BBBA54D519F7A320A54211F0107F5EA6

#【↑】/r/n
#【↓】request body
12345678901234567890
时间: 2024-11-05 22:02:28

Http协议中Get 和 Post的发送内容的相关文章

TCP协议中的三次握手和四次挥手(图解)【转】

建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. [更新于2017.01.04 ]该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好.这么久才来更新,抱歉!! 错误配图如下: 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源.Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了. 那如何断开连接呢?

Protocol buffer序列化及其在微信蓝牙协议中的应用

Protocol buffer是Google出品的一种轻便高效的结构化数据存储格式,可对结构化数据进行序列化,并具有语言无关.平台无关等特点,在通信协议和数据存储等领域已经得到广泛的应用.目前其已经提供 C/C++.Java.Python 等语言的 API. 一.Protocol buffer和XML 在数据通信传输时,一般需要将结构化的数据序列化成流进行传送,接收方再反序列化为原始格式数据进行处理.在Web通信领域,XML应用算是最通用的了.在时间性能上,虽然XML的序列化开销还可以,但是反序

http协议中get与post区别详解

对于http协议中的get与post的两种提交方式我们并不陌生,现在我们具体分析下他们两种提交方式的本质和区别. 首先我们来说一下他们两个之间的区别: 表单提交中的post方式与get方式的区别 1.get是从服务器上获取数据,post是向服务器传送数据 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的U

http协议中的编码和解码

http://www.csdn1 2 3.com/html/itweb/20130730/29422_29378_29408.htm ****************************** 一.字符集与文字编码简介 1. 计算机如何显示文字 我们知道,计算机是以二进制的“形式”来保存和处理数据的,也 就是说,不管我们使用键盘进行输入,还是让计算机去读取一个文本文件,计算机得到的原始内容是一些二进制序列,当需要对这些二进制序列进行显示时,计算机 会依照某种“翻译机制”(也就是编码方式),取到

Socks5协议中文文档

译者:Radeon(Radeon [email protected]) 译文公布时间:2001-6-18 文件夹 1.介绍 2.现有的协议 3.基于TCP协议的客户 4.请求 5.地址 6.应答 7.基于UDP协议的客户 8. 安全性考虑 9. 參考书目 1.介绍 利用网络防火墙能够将组织内部的网络结构从外部网络如INTERNET中有效地隔离,这样的方法在很多网络系统中正变得流行起来.这样的防火墙系统通常以应用层网关的形式工作在两个网络之间,提供TELNET.FTP.SMTP等的接入.随着越来越

[转]使用wireshark分析TCP/IP协议中TCP包头的格式

本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述 TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息.连接建立整个过程如下(即三次握手协议): 首先,客户机发送一个特殊的TCP报文段: 其次,服务器用另一个特殊的TCP报文段来响应: 最后,客户机再用第三个特殊报文段作为响应. 图1 三次握

如何使用multipart/form-data格式上传文件(POST请求时,数据是放在请求体内,而不是请求头内,在html协议中,用 “\r\n” 换行,而不是 “\n”)

在网络编程过程中需要向服务器上传文件.Multipart/form-data是上传文件的一种方式. Multipart/form-data其实就是浏览器用表单上传文件的方式.最常见的情境是:在写邮件时,向邮件后添加附件,附件通常使用表单添加,也就是用multipart/form-data格式上传到服务器. 表单形式上传附件 具体的步骤是怎样的呢? 首先,客户端和服务器建立连接(TCP协议). 第二,客户端可以向服务器端发送数据.因为上传文件实质上也是向服务器端发送请求. 第三,客户端按照符合“m

TCP 协议中的 Window Size与吞吐量

原地址:http://blog.sina.com.cn/s/blog_c5c2d6690102wpxl.html TCP协议中影响实际业务流量的参数很多,这里主要分析一下窗口的影响. ?TCP窗口目的 为了获得最优的连接速率,使用TCP窗口来控制流速率(flow control),滑动窗口就是一种主要的机制.这个窗口允许源端在给定连接传送数据分段而不用等待目标端返回ACK,一句话描述:窗口的大小决定在不需要对端响应(acknowledgement)情况下传送数据的数量.?官方定义:"The am

TCP 协议中MSS的理解

在介绍MSS之前我们必须要理解下面的几个重要的概念.MTU: Maxitum Transmission Unit 最大传输单元MSS: Maxitum Segment Size 最大分段大小PPPoE: PPP Over Ethernet(在以太网上承载PPP协议),就是因为这个协议的出现我们才有必要修改我们的MSS或者是MTU值.MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC