日常工作中,软件测试人员经常会接触到传输层(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/HTTPS协议,包括HTTP协议的工作原理、请求和响应报文结构,以及HTTPS的安全特性。重点讲解了HTTP的无状态和无连接特点及其解决方案,同时涵盖了HTTPS协议与HTTP的对比和常见面试问题。


被折叠的 条评论
为什么被折叠?



