接口测试 —— HTTP协议概述!

1089 篇文章 25 订阅
745 篇文章 2 订阅

HTTP协议

网络协议:

  网络协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。

HTTP协议:

  HTTP协议(超文本传输协议)是一种网络通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。默认端口:80

HTTPS协议:

  HTTPS协议是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。默认端口:443

HTTP协议的主要特点:

1、支持客户/服务器模式。

2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

HTTPS协议的主要特点:

1、内容加密:采用混合加密技术,中间者无法直接查看明文内容

2、验证身份:通过证书认证客户端访问的是自己的服务器

3、保护数据完整性:防止传输的内容被中间人冒充或者篡改

4、SSL证书需要购买申请,功能越强大的证书费用越高

5、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗

6、HTTPS连接缓存不如HTTP高效,流量成本高

7、HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验。

注:使用哪种协议比较好?比较好的方式是采用分而治之,类似12306网站的主页使用HTTP协议,有关于用户信息等方面使用HTTPS。


HTTP协议的组成:

请求行(URL) :

  请求行由请求方法字段(GET/POST)、URL字段和HTTP协议版本字段3个字段组成。

GET:

POST:

URL字段:

  URL字段也称为请求地址

HTTP协议版本:

  HTTP协议版本目前常用的是HTTP1.1、HTTP2.0

HTTP协议的请求方法:

  HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

  最常用的方法有:

  GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源。

  POST方法::要求被请求服务器接受附在请求后面的数据,常用于提交表单。

GET和POST区别:

  • 从参数的传递方面来看,GET请求的参数是直接拼接在地址栏URL的后面,而POST请求的参数是放到请求体里面的;
  • 从长度限制方面来看,GET请求有具体的长度限制,一般不超过1024KB,而POST理论上没有,但是浏览器一般都有一个界限;
  • 从安全方面来看,GET请求相较于POST,因为数据都是明文显示在URL上面的,所以安全和私密性不如POST;
  • 从本质上来说,GET和POST都是TCP连接,并无实质的区别.但是由于HTTP/浏览器的限定,导致它们在应用过程中体现出了一些不同.GET产生一个数据包,POST产生两个数据包.对于GET请求,浏览器会把http header 和 data 一并发出去,服务器响应200(返回数据).而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok

请求头部(header):

  请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号 “ : ” 分隔。

请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

User-Agent:产生请求的浏览器类型。

Accept:客户端可识别的内容类型列表。

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

Content-Type:请求体的MIME类型,MIME类型:描述消息内容类型的因特网标准,常见的有application/json、image/jpeg、application/octet-stream等

常见的请求头部信息:

GET:

POST:

请求正文(body):

  请求正文向服务器提交的请求数据,GET请求的参数一般是放在请求行后的键值对,post请求的参数类型多样(表单、json、xml、图片等)

GET:

POST:

响应行:

  响应行由响应状态码、响应信息和HTTP协议版本字段3个字段组成

响应状态码:

响应状态码由三位数字组成,第一个数字定义了响应的类别,且有五种类型

  • 1xx:指示信息--表示请求已接收,继续处理
  • 2xx:成功--表示请求已被成功接收、理解、接受
  • 3xx:重定向--要完成请求必须进行更进一步的操作
  • 4xx:客户端错误--请求有语法错误或请求无法实现
  • 5xx:服务器端错误--服务器未能实现合法的请求

HTTP响应状态码列表:

常见的响应状态码:

  200 - 请求成功,已经正常处理完毕

  301 - 请求永久重定向,转移到其它URL

  302 - 请求临时重定向

  304 - 请求被重定向到客户端本地缓存

  400 - 客户端请求存在语法错误

  401 - 客户端请求没有经过授权

  403 - 客户端的请求被服务器拒绝,一般为客户端没有访问权限

  404 - 客户端请求的URL在服务端不存在

  500 - 服务端永久错误

  503 - 服务端目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

响应头:

  响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。

常见的响应头有:

Content-Length:表示内容长度

Content- Type:表示后面的文档属于什么MIME类型

Server:服务器通过这个头告诉浏览器服务器的类型

响应正文:

  响应正文就是响应的消息体,如果是纯数据就是返回纯数据,如果请求的是HTML页面,那么返回的就是HTML代码,如果是图片就是图片等

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

 

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值