http协议简介

什么是http

  1. HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
  2. HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80
  3. http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议

如果你不知道什么是HTTP, 那么你是学不会接口测试的!我说的是真的!_http

请求报文

  1. HTTP请求报文主要由请求行、请求头部、空一行、请求正文4部分组成
    (当然,如果不算空的一行,那就是3个部分)
    如果你不知道什么是HTTP, 那么你是学不会接口测试的!我说的是真的!_http协议_02
  2. 下图是fiddler工具抓的post请求报文(工具使用看fiddler篇),可以对照上图,更清楚的理解http的请求报文内容。
    如果你不知道什么是HTTP, 那么你是学不会接口测试的!我说的是真的!_http协议_03

响应报文

  1. HTTP响应报文主要由状态行、消息报头、空一行、响应正文4部分组成
    (当然,如果不算空的一行,那就是3个部分)
    如果你不知道什么是HTTP, 那么你是学不会接口测试的!我说的是真的!_请求报文_04
  2. 下图就是一个请求的响应内容,用fiddler抓包工具可以查看
    如果你不知道什么是HTTP, 那么你是学不会接口测试的!我说的是真的!_http_05

完整的http内容

  1. 一个完整的http协议其实就两块内容,一个是发的请求,一个服务端给的响应。
  2. 以下是请求https://github.com/timeline.json 这个地址后,用fiddler抓包导出为文本,查看完整的http请求内容。(点击查看​​什么是会话保存​​)
    如果你不知道什么是HTTP, 那么你是学不会接口测试的!我说的是真的!_http_06
    3.内容如下:

(----------------以下是请求报文---------------------)

GET https://github.com/timeline.json HTTP/1.1

Host: github.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate, br

Cookie: xxx(已省略)

(----------------以下是请求报文---------------------)

GET https://github.com/timeline.json HTTP/1.1

Host: github.com

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate, br

Cookie: xxx(已省略)

X-Request-Id: d09e199dc290c6f0dc79fe49007069ab

X-Runtime: 0.004161

Content-Security-Policy: xxx(已省略)

Strict-Transport-Security: xxx(已省略)

X-Content-Type-Options: nosniff

X-Frame-Options: deny

X-XSS-Protection: 1; mode=block

X-Runtime-rack: 0.007388

X-GitHub-Request-Id: FE36:2B0A9:177175F:23C092D:594FD998

Content-Length: 379

(----------------以下是响应正文(json格式)---------------------)

{“message”:“Hello there, wayfaring stranger. If you’re reading this then you probably didn’t see our blog post a couple of years back announcing that this API would go away: http://git.io/17AROg Fear not, you should be able to get what you need from the shiny new Events API instead.”,“documentation_url”:“https://developer.github.com/v3/activity/events/#list-public-events”}


如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到893694563,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术