打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
软件测试之HTTPHTTPS协议必知必会
userphoto

2024.04.28 上海

关注

日常工作中,软件测试人员经常会接触到传输层(TCP、UDP)和应用层(HTTP、HTTPS等)的内容。比如,像我们web页面时,就会用到一些协议的知识。为了让大家对这些协议有清楚的认知,我打算分几篇来给大家做一个介绍,希望大家可以从这当中,学会一些知识,掌握几个小的要点,便于今后工作能够顺利开展。

本文主要以HTTP/HTTPS协议为主,来给大家做详细的介绍。

1、HTTP协议概述

HTTP协议:超文本传输协议,是基于TCP的协议,默认为80端口。它的作用是用来规定客户端和服务器的数据传输格式。是一种用于请求与响应模式的、无状态、无连接 的应用层协议。 由于HTTP协议是一种请求-响应模式,所以一般需要关注HTTP请求和HTTP响应。

2、HTTP协议之请求报文

HTTP请求的报文分为四部分:请求行、请求头、空一行、请求体,其中前三个是所有HTTP请求都有的部分,请求体不是所有的HTTP请求都有(例如GET请求没有请求体)。下图为一个HTTP请求的报文信息:

请求行:请求行由 请求方法、统一资源定位符(URL)、HTTP协议及版本。

请求方法:HTTP请求中,有八种请求方式,分别为GET、POST 、HEAD、OPTIONS、PUT、DELETE、TRACE 、CONNECT 。其中最后常用的就是GET、POST请求方法。

统一资源定位符(URL):统一资源定位符用于描述网上的资源,格式如下:协议://host[:port#]/path/../[?query-string]。

HTTP协议及版本:通常为HTTP/1.1。

3、HTTP协议之响应报文

HTTP响应的报文分为四部分:状态行、响应头、空一行、响应体,其中前三个是所有HTTP响应都有的部分,响应体不是所有的HTTP响应都有。下图为一个HTTP响应的报文信息:

状态行:状态行由 协议及版本、状态码、状态码解释。

l  协议及版本:通常为HTTP/1.1。

l  状态码:常用状态码根据数字大小可以分为以下几大类。常用的响应状态码为:200:请求成功、302:重定向、403:服务器拒绝请求、404:服务器找不到请求的网页、503:服务不可用。

l  响应状态码范围      含义

4、HTTP协议 无状态、无连接特点及解决方案

在最前面介绍HTTP协议的时候,说到HTTP协议是一个无状态、无连接的协议。那么何为无状态、无连接,以及该特点的优势及所带来的问题。

l  无状态:

1)含义:

(1)对事务处理没有记忆能力,服务器不知道客户端是什么状态,给服务器发送HTTP请求之后,服务器回应之后,不会有任何记录;

(2)每个请求都是独立的;

2)优点:释放服务器压力。

3)缺点:服务器处理后续请求,需要重传。例如登录系统后,如果不记录登录的相关信息,后续进行添加购物车操作的时候,需要登录的相关信息。

4)解决方案:

(1)Cookie:将前面的请求信息保存在一个临时位置。cookies值存在浏览器里,关闭浏览器后被删除,也可以手动去删除。

(2)Session:可以理解为永久的cookie值,保存在服务器上,并传递给客户端,并保存在内存中。问题:资源占用,session超时时间,清除session ID。

l  无连接:

1)含义:

(1)限制每次连接只处理一个请求;

(2)服务器处理客户端的请求、并接受客户端的应答后,即断开连接;

2)初衷:用户量(十万、上百万)页面请求、单个用户间歇性大(很长时间上没有交互),有突发性、瞬时性。数据没有关联,导致资源浪费,从而服务器压力很大。

3)设计:从而设计为处理完请求后,释放连接。

4)问题:网页越来越复杂了,页面中有很多图片,如果每次都要建立一次TCP连接,效率就会很低。

5)解决方案:connection响应头字段值 Keep-Alive 表示保持tcp连接不关闭,不会永久保持连接,服务器可设置

5、HTTPS协议详解

HTTP协议存在的问题:发送的数据都是明文的,存在第三方窃听,截取数据包、伪装客户端的情况,存在安全隐患。

HTTPS协议:超文本传输安全协议,是以网络安全为目标的HTTP通道,简单来讲就是HTTP的安全版。它加密数据并确保其机密性,可保护用户在网站交互时免于窃取个人信息及计费数据。可以理解为:

(1)HTTPS=HTTP+SSL

(2)HTTPS=HTTP+加密+身份认证+完整性。(其中加密:密钥;身份认证: 证书(申请)双向认证; 完整性保护:哈希算法 计算一个hash值,验证消息的完整性 摘要=摘要 保证数据没有被篡改)

l  HTTPS=HTTP+SSL

l  HTTPS之SSL连接详解

6、HTTP协议与HTTPS协议对比

7、常见面试题

在面试过程中,关于HTTP协议常见的问题有:

(1)HTTP请求响应报文

(2)HTTP与HTTPS的区别

(3)TCP三次握手与四次挥手

(4)HTTP常见状态码

(5)HTTP八种请求方式

(6)简述OSI七层网络模型

(7)HTTP无状态、无连接特点及解决方案

(8)cookie和session的区别。

上述的这些问题再前面都已经写到了,大家可以看看我们前面写的内容,好好背一背,面试的时候遇到也就不难了~

文章来源:网络  版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《图解HTTP》读书笔记 – 第2章 简单的 HTTP 协议 – 博客歪歪
http面试,有这一篇就够了
HTTP协议及其工作原理介绍
TCP/IP协议栈——IP、TCP、UDP、HTTP协议详解
「HTTP 协议」90%的java程序员都看得懂的最全HTTP 协议讲解(1)
HTTP请求方式中8种请求方法(简单介绍)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服