Jmeter篇–HTTP请求及响应

一、HTTP请求-request
1、一个http请求指从客户端到服务端的请求消息,我们可以通过浏览器的F12键,可以看到以下信息:
● 请求地址:uri
● 请求方法:HEAD、GET、POST、PUT、OPTIONS、DELETE、PATCH
● HTTP协议/版本:打开浏览器按F12去仔细查看
Jmeter篇--HTTP请求及响应
● 请求头
Jmeter篇--HTTP请求及响应
● 请求参数
Jmeter篇--HTTP请求及响应
● 通过工作经验总结,我们可以得到以下几点:
请求方法:即http请求的提交方式,一般以get和post居多
URI:请求资源的标识,可以理解为一个请求的路径信息
协议:http协议
版本:1.1
请求正文:请求参数
请求头:告诉服务器关于客户端环境和请求正文相关的一些信息,例如浏览器版本,请求参数的长度

2、请求头详解
● User-Agent:告诉服务器客户端的相关信息(如果是浏览器会有版本,内核等信息)
● referer:告诉服务器,此请求是从哪个页面上发出来(防盜链)
● X-Requested-With:告诉服务器这个是-一个ajax请求
● Cookie:带给服务器的cookie信息
● 请求头可以在代码中指定,添加,通过键值对的形式,调用:addHeader (String name,String value) 即可在请求对象中添加一个名字为name,值为value的请求头。

二、HTTP请求—response
1、一个http response (http响应)指的是从服务端到客户端的响应消息,它包括了以下信息:
● 响应状态码:标记响应状态的一个标识,200-成功,404-资源找不到,500服务器异常,302-重定向等
● 响应头:告诉客户端关于服务器,响应报文相关的一些信息,例如,服务器类型,响应报文格式
● 响应报文:针对请求从服务响应回来的数据,比如html、xml、json等

2、响应头详解Jmeter篇--HTTP请求及响应
"Set-Cookie"这个响应头的作用是告诉浏览器需要缓存的cookie数据。关于缓存的详解
https://www.cnblogs.com/nickjiang/p/9148136.html

3、比较常见的响应头
● location:告诉浏览器跳到哪里
● content-length:告诉浏览器回送数据的长度
● content-type:告诉浏览器回送数据的类型

三、HTTP请求常见状态码
2开头(请求成功) 表示成功处理了请求的状态代码。
● 200:(成功)服务器已成功处理了请求。通常, 这表示服务器提供了请求的网页。
● 201:(已创建)请求成功并且服务器创建了新的资源。
● 202:(已接受)服务器已接受请求,但尚未处理。
● 203:(非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。
● 204:(无内容)服务器成功处理了请求,但没有返回任何内容。
● 205:(重置内容)服务器成功处理了请求,但没有返回任何内容。
● 206:(部分内容)服务器成功处理了部分GET请求。

3开头(请求被重定向)表示要完成请求,需要进一步操作。通常, 这些状态代码用来重定向。
● 300:(多种选择) 针对请求,服务器可执行多种操作。服务器可根据请求者(user-agent)选择一项操作,或提供操作列表供请求者选择。
● 301:(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应 (对GET或HEAD请求的响应)时,会自动将请求者转到新位置。
● 302:(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
● 303:(查看其他位置) 请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码。
● 304:(未修改) 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
● 305:(使用代理) 请求者只能使用代理访问请求的网页。如果服务器返回此响应, 还表示请求者应使用代理。
● 307:(临时重定向) 服务器目前从不同位置的网页响应请求, 但请求者应继续使用原有位置来进行以后的请求。

4开头(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理。
● 400:(错误请求)服务器不理解请求的语法。
● 401:(未授权)请求要求身份验证。对于需要登录的网页, 服务器可能返回此响应。
● 403:(禁止)服务器拒绝请求。
● 404:(未找到)服务器找不到请求的网页。
● 405:(方法禁用)禁用请求中指定的方法。
● 406:(不接受)无法使用请求的内容特性响应请求的网页。
● 407:(需要代理授权)此状态代码与 401 (未授权)类似,但指定请求者应当授权使用代理。
● 408:(请求超时)服务器等候请求时发生超时。
● 409:(冲突)服务器在完成请求时发生冲实。服务器必须在响应中包含有关冲实的信息。
● 410:(已删除)如果请求的资源已永久删除,服务器就会返回此响应。
● 411:(需要有效长度)服务器不接受不含有效内容长度标头字段的请求。
● 412:(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。
● 413:(请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
● 414:(请求的URI 过长)请求的URI (通常为网址)过长,服务器无法处理。
● 415:(不支持的媒体类型)请求的格式不受请求页面的支持。
● 416:(请求范围不符合要求)如果页面无法提供请求的范围, 则服务器会返回此状态代码。
● 417:(未满足期望值)服务器未满足”期望 “请求标头字段的要求。

5开头(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
● 500:(服务器内部错误)服务器遇到错误,无法完成请求。
● 501:(尚未实施)服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
● 502:(错误网关)服务器作为网关或代理,从上游服务器收到无效响应。
● 503:(服务不可用)服务器目前无法使用 (由于超载或停机维护)。通常,这只是暂时状态。
● 504:(网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。
● 505:(HTTP版本不受支持)服务器不支持请求中所用的HTTP协议版本。
https://blog.csdn.net/dufufd/article/details/53112184

分类:

技术点:

相关文章: