【JavaEE】_HTTP请求与响应

目录

1. HTTP协议

1.1 HTTP简介

1.2 Fiddler

2. HTTP请求

2.1 首行

2.2 请求头(header)

2.3 空行

2.4 正文(body)

3. HTTP响应

3.1 首行

3.2 响应头(header)

3.3 空行

3.4 正文(body)


1. HTTP协议

1.1 HTTP简介

1. HTTP协议即“超文本传输协议”,即不止可以传输文本,还可以传输图片、音频、视频等二进制数据,是一个应用层协议

2. HTTP已经更新到HTTP/3.0,但目前大规模使用的版本是HTTP/1.1;

3. 最常见的使用HTTP协议的场景有:

(1)网站网页与后台服务器的交互

(2)手机APP与后台服务器的交互

4. 应用层协议需要基于传输层协议向上层提供服务,HTTP是基于TCP协议实现的

5. HTTP协议是一种“一问一答”结构模型的协议。

6. HTTP报文与之前的TCP/UDP报文不同,HTTP的报文分为请求和响应两种格式

:1. 常见的协议结构模型有:

(1)一问一答:访问网站

(2)多问一答:上传文件

(3)一问多答:下载文件

(4)多问多答:串流,远程桌面

1.2 Fiddler

Fiddler是当今广泛使用的HTTP抓包工具,具体下载以及简单使用见下文,此处不再赘述:

【JavaEE】_Fiddler抓包HTTP请求与响应-CSDN博客

2. HTTP请求

2.1 首行

HTTP请求的第一行有三个部分信息,分别使用空格进行分隔:

1. GET:HTTP请求的“方法”(method),表示请求的目的;

2. URL:即唯一资源定位符,用于描述一个资源在网络上的位置:

3. 版本号:HTTP/1.1目前是最主流的HTTP版本;

2.2 请求头(header)

1. 请求头是键值对结构的数据,每个键值对独占一行,格式为: 键: 值;

2. 此处的键与值都是标准规定的,后续详细介绍;

2.3 空行

空行用于作为请求头的结束标记

2.4 正文(body)

有些HTTP请求有正文部分,有些HTTP请求没有正文部分;

3. HTTP响应

3.1 首行

HTTP响应首行有三个部分:

1. 版本号:HTTP/1.1

2. 状态码(200):描述了请求的结果;

3. 状态码描述(OK):进一步描述状态码的含义:

3.2 响应头(header)

同HTTP请求一样:

1. 请求头是键值对结构的数据,每个键值对独占一行,格式为: 键: 值;

2. 键与值内容由标准规定;

3.3 空行

空行是响应头的结束标志;

3.4 正文(body)

正文内容可能比较长,并且可能是多种样式,如HTML,CSS,JS,JSON,XML,图片、字体、视频、音频等等,可能会进行压缩;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跟廖雪峰老师学习Git(持续更新)

Git简介 创建版本库 第一步,创建一个新目录 第二步,通过git init变成Git可以管理的仓库 把文件添加到文本库,不要使用Windows自带的记事本! 我用的是VS code 创建readme.txt 放入库中 commit可以一次提交很多文件&#xff0…

酒店押金预授权怎么开通?微信酒店押金+房态+门锁关联 +电子押金单 解决方案

一、酒店押金管理有哪些? 1.渠道有银行预授权 2.微信押金支付 3.酒店押金系统 4.支付押金管理 二、银行预授权模式 酒店押金预授权通常是在客人办理入住时进行的,酒店会要求客人提供信用卡或借记卡的卡号、有效期、持卡人姓名等信息,然后…

Django学习全纪录:Django开发环境的搭建

导言 对于Django,它是Python的一个开发框架,之前系统地学习过。遗憾的是,对于一些遇到的问题,没有及时地记录下来。因此,我将它重新捡起,进行学习和实践。从搭建环境开始,重新去学习它&#xff…

应用进程跨越网络的通信

目录 1 系统调用和应用编程接口 应用编程接口 API 几种应用编程接口 API 套接字的作用 几种常用的系统调用 1. 连接建立阶段 2. 传送阶段 3. 连接释放阶段 1 系统调用和应用编程接口 大多数操作系统使用系统调用 (system call ) 的机制在应用程序和操作系统之间传递控制…

Kafka 之生产者(Producer)

目录 一. 前言 二. 生产消息 三. 幂等和事务 四. send() 发送消息 五. 原理解析 一. 前言 Kafka生产者是一个应用程序,它负责向 Kafka 主题发送消息。这些消息可以用于多种目的,如记录用户活动、收集物联网设备数据、保存日志消息或缓存即将写入数据…

66万个 全国行政区划代码表

66万个全国各级行政区划代码表 提供的数据一览 简介 一共有66万个全国各级行政区划,一共有5个级别的行政单位级别 表格头部数据 表格尾部数据 全国行政单位各省份数量统计 数据下载地址 数据整理不易 百度云盘 链接: https://pan.baidu.com/s/1o1C2piYj2wu…

C#,数值计算,矩阵的行列式(Determinant)、伴随矩阵(Adjoint)与逆矩阵(Inverse)的算法与源代码

本文发布矩阵(Matrix)的一些初级算法。 一、矩阵的行列式(Determinant) 矩阵行列式是指矩阵的全部元素构成的行列式,设A(a)是数域P上的一个n阶矩阵,则所有A(a)中的元素组成的行列式称为矩阵A的行列式&…

仰暮计划|“​他们艰苦半生,但真的希望祖国安祥,山河无恙”

自述,自赎 我没有在那个年代生活过,我一出生就是盛世中国,看遍了祖国的大好河山。但我没想到,走了这么远的路,吃了这么多的苦的爷爷会一直跟我说“不是国家不好,只是中国的钱拿去还债了,过了那…

Linux释放内存

free -m是Linux上查看内存的指令,其中-m是以兆(MB)为单位,如果不加则以KB为单位。 如下图表示,(total)总物理内存是809MB,(used)已使用167MB,&…

零基础学Python(10)— 序列通用操作

前言:Hello大家好,我是小哥谈。本节课就带大家认识下Python语言中常见的序列通用操作!~🌈 目录 🚀1.索引 🚀2.切片 🚀3.序列加法 🚀4.序列乘法 🚀5.检查某个元素是…

Python:Pygame游戏编程简述

Python是一种广泛使用的编程语言,它简洁、易懂并且功能强大。在Python的世界中,有许多库和模块可供选择,其中之一就是Pygame。Pygame是一个Python库,用于开发2D游戏,它提供了许多工具和函数,使得游戏开发变…

【2024年毕设系列】如何使用Anaconda和Pycharm

【2024年毕设系列】如何使用Anaconda和Pycharm 视频教程地址:【2024毕设系列】Anaconda和Pycharm如何使用_哔哩哔哩 Hi,各位好久不见,这里是肆十二,首先在这里给大伙拜年了。 诸位过完年之后估计又要开始为了大作业和毕业设计头疼…

移动机器人激光SLAM导航(五):Cartographer SLAM 篇

参考 Cartographer 官方文档Cartographer 从入门到精通 1. Cartographer 安装 1.1 前置条件 推荐在刚装好的 Ubuntu 16.04 或 Ubuntu 18.04 上进行编译ROS 安装:ROS学习1:ROS概述与环境搭建 1.2 依赖库安装 资源下载完解压并执行以下指令 https://pa…

CSRNET图像修复,DNN

CSRNET图像修复 CSRNET图像修复,只需要OPENCV的DNN

【安装指南】图床神器之Picgo下载、安装详细教程

🌼一、概述 PicGo是一款开源的图片上传、管理工具,旨在帮助用户快速上传图片到云存储或图床,并提供链接方便在网页或其他应用中使用。它支持各种常见的图床服务商,如GitHub、七牛云、腾讯云等,并提供了简洁易用的界面和…

Vscode 在汇编文件中添加调试断点

Vscode 在汇编文件中添加调试断点 vscode默认不支持汇编文件添加断点, 可以在设置里面打开

软件实例分享,超市便利店进销存管理系统收银软件教程

软件实例分享,超市便利店进销存管理系统收银软件教程 一、前言 以下软件教程以 佳易王超市进销存管理软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 软件程序导航,系统设置:有管理员账号设置其他账…

前端工程化之:webpack3-5(css module)

目录 一、css module 1.思路 2.实现原理 3.如何应用样式 4.其他操作 (1)全局类名 (2)如何控制最终的类名 5.其他注意事项 一、css module 通过命名规范来限制类名太过死板,而 css in js 虽然足够灵活&…

Windows上Miniconda的安装:一步步教你从零开始

🚀Windows上Miniconda的安装:一步步教你从零开始🚀 🌵文章目录🌵 🌳引言🌳🌳二、Miniconda简介:开启您的数据科学之旅的得力助手! 🌳&#x1f333…

神经网络:卷积神经网络中的BatchNorm

一、BN介绍 1.原理 在机器学习中让输入的数据之间相关性越少越好,最好输入的每个样本都是均值为0方差为1。在输入神经网络之前可以对数据进行处理让数据消除共线性,但是这样的话输入层的激活层看到的是一个分布良好的数据,但是较深的激活层…