测试面试必备:HTTP请求和响应详解!

一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式。无论是什么客户端或者是什么服务端,大家只要按照HTTP的协议标准来实现的话,那么它一定是通用的。

HTTP 请求格式

HTTP请求格式主要有四部分组成,分别是:请求行、请求头、空行、消息体,每部分内容占一行

1

2

3

4

5

6

<request-line>

<general-headers>

<request-headers>

<entity-headers>

<empty-line>

[<message-body>]

请求行:请求行是请求消息的第一行,由三部分组成:分别是请求方法(GET/POST/DELETE/PUT/HEAD)、请求资源的URI路径、HTTP的版本号

1

GET /index.html HTTP/1.1

请求头:请求头中的信息有和缓存相关的头(Cache-Control,If-Modified-Since)、客户端身份信息(User-Agent)等等。例如:

1

2

3

4

Cache-Control:max-age=0

Cookie:gsScrollPos=; _ga=GA1.2.329038035.1465891024; _gat=1

If-Modified-Since:Sun, 01 May 2016 11:19:03 GMT

User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36

消息体:请求体是客户端发给服务端的请求数据,这部分数据并不是每个请求必须的。

HTTP 响应格式

服务器接收处理完请求后返回一个HTTP相应消息给客户端。HTTP响应消息的格式包括:状态行、响应头、空行、消息体。每部分内容占一行。

1

2

3

4

5

6

<status-line>

<general-headers>

<response-headers>

<entity-headers>

<empty-line>

[<message-body>]

状态行:状态行位于相应消息的第一行,有HTTP协议版本号,状态码和状态说明三部分构成。如:

1

HTTP/1.1 200 OK

响应头:响应头是服务器传递给客户端用于说明服务器的一些信息,以及将来继续访问该资源时的策略。

1

2

3

4

5

6

Connection:keep-alive

Content-Encoding:gzip

Content-Type:text/html; charset=utf-8

Date:Fri, 24 Jun 2016 06:23:31 GMT

Server:nginx/1.9.12

Transfer-Encoding:chunked

响应体:响应体是服务端返回给客户端的HTML文本内容,或者其他格式的数据,比如:视频流、图片或者音频数据。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/756025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wireshark 使用实践

1、打开wireshark软件&#xff0c;选择网卡&#xff0c;开始抓包 2、打开浏览器&#xff0c;访问一个http网站&#xff1a;这里我用 【邵武市博物馆】明弘治十一年&#xff08;1498&#xff09;铜钟_文物资源_福建省文 测试&#xff0c;因为它是http的不是https&#xff0c;方…

【OpenWRT】x86平台安装原版OpenWRT

在当今高度互联的数字化时代&#xff0c;网络设备已经成为我们日常生活和工作中不可或缺的一部分。为了满足不同用户对网络功能的个性化需求&#xff0c;开源社区涌现出了诸多优秀的项目&#xff0c;其中 OpenWrt 便是其中之一。 OpenWrt 是一款专注于为嵌入式设备提供定制化、…

Echarts自适应大小和字体的大屏可视化方案

痛点&#xff1a; 用 Echarts 写图表&#xff0c;屏幕大小改变时&#xff0c;字体不能同步缩放&#xff0c;图表不会自动适应容器 有这个困扰的同学请给颗 star https://github.com/wj100/auto-size-echart 此方案代码量少&#xff0c;使用简单&#xff0c;接管 echarts 配置…

搜维尔科技:矿山安全多人协同仿真演练系统!

搜维尔科技&#xff1a;矿山安全多人协同仿真演练系统&#xff01; 搜维尔科技&#xff1a;矿山安全多人协同仿真演练系统&#xff01;

小型路由器,为什么四个端口的IP在一个网段?

是的&#xff0c;路由器确实在不同网段&#xff0c;不过小型路由器&#xff08;宽带路由器&#xff09;一般都是为家用设计的&#xff0c;思路就是越简单好用越好&#xff0c;逻辑上其实它只有一个WAN口和一个LAN口&#xff0c;WAN口接公网一个地址&#xff0c;LAN口接你电脑一…

手写 UE4中的 TArray

#pragma once #include<iostream> #include<stdexcept> #define CHECK_INDEX_RANGE(Index) if (Index > ElementCount) throw std::out_of_range("索引超出界限")template<typename ElementType> class TArray {typedef unsigned int uint; pri…

【Leetcode-102.二叉树的层序遍历】

题目详情&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]]示例…

GPT实战系列-智谱GLM-4的模型调用

GPT实战系列-智谱GLM-4的模型调用 GPT专栏文章&#xff1a; GPT实战系列-实战Qwen通义千问在Cuda 1224G部署方案_通义千问 ptuning-CSDN博客 GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案 GPT实战系列-Baichuan2本地化部署实战方案 GPT实战系列-让CodeGeeX2帮…

linux下常见服务的搭建搜集 —— 筑梦之路

安装JDK 官网下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads# 创建目录 mkdir /usr/local/java/# 解压 tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local/java/# 配置环境变量 vim /etc/profileexport export JAVA_HOME/usr/local/java/jdk1.8.…

【Java刷题篇】滑动窗口

文章目录 &#x1f4c3;滑动窗口&#x1f4dc;基本概念&#x1f4dc;核心思路 ✍最大连续1的个数 III✍水果成篮 &#x1f4c3;滑动窗口 &#x1f4dc;基本概念 滑动窗口是一种基于双指针的一种思想&#xff0c;两个指针指向的元素之间形成一个窗口。 分类&#xff1a;窗口有…

Unity构建详解(2)——SBP的初始设置和脚本编译

【SwitchToBuildPlatform】 核心逻辑如下 EditorUserBuildSettings.SwitchActiveBuildTarget(m_Parameters.Group, m_Parameters.Target); 直接调用切换平台的接口&#xff0c;一般来说&#xff0c;这个步骤不会执行&#xff0c;我们打包时肯定会事先将平台切换好的 【Rebu…

安卓面试网络知识基础 41-45

41. 客户端无法使用Cookie怎么办?有可能客户端无法使用Cookie,比如浏览器禁用Cookie,或者客户端是安卓、IOS等等。 这时候怎么办?SessionID怎么存?怎么传给服务端呢? 首先是SessionID的存储,可以使用客户端的本地存储,比如浏览器的sessionStorage。 接下来怎么传呢? 拼…

【物联网】Modbus 协议及应用

Modbus 协议简介 QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集&#xff0c;这里就我们的实际项目经验分享Modbus协议 简介 Modbus由MODICON公司于1979年开发&#xff0c;是一种工业现场总线协议标准。1996年施耐德公司推出基于以太…

libVLC windows开发环境搭建

1.简介 LibVLC是一个强大的开源库&#xff0c;它构成了VLC媒体播放器的核心部分。 LibVLC提供了一系列的功能接口&#xff0c;使得VLC能够处理流媒体的接入、音频和视频输出、插件管理以及线程系统等核心任务。 跨平台性&#xff1a;VLC作为一个跨平台的多媒体播放器&#x…

Java instanceof

目录 简介 示例 注意事项 应用场景 简介 instanceof 是 Java 的保留关键字也称为类型比较运算符&#xff0c;因为它将实例与类型进行比较它的作用是测试它左边的对象是否是它右边的类的实例&#xff0c;返回 boolean 的数据类型instanceof是Java中的二元运算符&#xff0c…

海外代理IP在跨境电商中的五大应用场景

在我国跨境电商的发展中&#xff0c;海外代理IP的应用日益广泛&#xff0c;它不仅帮助商家成功打入国际市场&#xff0c;还为他们在多变的全球电商竞争中保持优势。下面是海外代理IP在跨境电商中五个关键的应用场景。 1、精准的市场分析 了解目标市场的消费者行为、产品趋势以…

[蓝桥杯 2023 省 B] 飞机降落(暴搜DFS+贪心)

总结&#xff1a;为什么你看到题想不出来怎么写呢&#xff0c;我想不到这道题还会用到dfs的思想&#xff0c;顶多能知道可能会有贪心&#xff0c;还是得多做题。 这道题让我想起来导弹拦截和借教室&#xff0c;记得有空做做&#xff01;&#xff01;不要研究难题&#xff0c;把…

打造专属云存储:私有Docker Registry全面解读与实战部署

在容器技术大行其道的今天&#xff0c;Docker Registry作为容器镜像的中央仓库&#xff0c;扮演着至关重要的角色。当公开的官方镜像库无法满足企业对安全性、可控性及定制化的需求时&#xff0c;搭建私有Docker Registry就显得尤为必要。本文旨在深入剖析私有Docker Registry的…

题目15—三数之和

题目来源于LeetCode 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重…

2000-2021年各省社会消费水平数据(原始数据+计算结果)(无缺失)

2000-2021年各省社会消费水平数据&#xff08;原始数据计算结果&#xff09;&#xff08;无缺失&#xff09; 1、时间&#xff1a;2000-2021年 2、来源&#xff1a;各省年鉴、国家统计局 3、范围&#xff1a;31省 4、指标&#xff1a;社会消费品零售总额&#xff08;亿元&a…