每日任务:报文构成、请求类型及GET与POST差异分析

1.HTTP请求报文和响应报文是怎样的,有哪些常见的字段?

HTTP报文分为请求报文和响应报文;

(1)请求报文主要由请求行、请求头、空行、请求体构成。

请求行包括了:

  • 请求方式:如get、post、put、delete等的方法
  • 资源路径:请求资源的URI(统一资源标识符)
  • HTTP版本:使用的HTTP协议的版本,如HTTP/1.1、HTTP/2.0

请求头的字段较多,常使用的包含以下几个:

  • Host:请求的服务器的域名。
  • Accept:客户端能够处理的媒体类型。
  • Accept-Encoding:客户端能够解码的内容编码。
  • Authorization:用于认证的凭证信息,比如token数据。
  • Content-Length:请求体的长度。
  • Content-Type:请求体的媒体类型。
  • Cookie:存储在客户端的cookie数据。
  • If-None-Match:资源的ETag值,用于缓存控制。
  • Connection:管理连接的选项,如 keep-alive。

空行是用于分隔请求头部和请求主体。

而请求体通常用于 POST 和 PUT 请求,包含发送给服务器的数据。

(2)一个标准的HTTP响应报文包含了状态行、响应头、空行、响应体

状态行包含HTTP版本、状态码和状态消息。例如:HTTP/1.1 200 OK

响应头部也是以键值对的形式提供的额外信息,类似于请求头部,用于告知客户端有关响应的详细信息。一些常见的响应头部字段包括:

  • Content-Type:指定响应主体的媒体类型。
  • Content-Length:指定响应主体的长度(字节数)。
  • Server:指定服务器的信息。
  • Expires: 响应的过期时间,之后内容被认为是过时的。
  • ETag: 响应体的实体标签,用于缓存和条件请求。
  • Last-Modified: 资源最后被修改的日期和时间。
  • Location:在重定向时指定新的资源位置。
  • Set-Cookie:在响应中设置Cookie。
  • Access-Control-Allow-Origin: 跨源资源共享(CORS)策略,指示哪些域可以访问资源。

空行(Empty Line)在响应头和响应体之间,表示响应头的结束。

而响应体是服务端实际传输的数据,可以是文本、HTML页面、图片、视频等,也可能为空。

2.HTTP有哪些请求方式?

GET

发送请求取得服务器上的某种资源,是用来查询数据,不会影响资源的内容

POST

向指定资源提交数据进行处理请求,该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容

PUT

与post类似,更新指定资源,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等

DELETE

请求服务器删除指定的资源。

HEAD

获取报文首部,不返回报文主体。

OPTIONS

查询服务器支持的请求方法。

PATCH

对资源进行部分更新。

3.GET请求和POST请求的区别

  1. 用途:GET请求通常用于获取数据,POST请求用于提交数据。
  2. 数据传输:GET请求将参数附加在URL之后,POST请求将数据放在请求体中。
  3. 安全性:GET请求由于参数暴露在URL中,安全性较低;POST请求参数不会暴露在URL中,相对更安全。
  4. 数据大小:GET请求受到URL长度限制,数据量有限;POST请求理论上没有大小限制。
  5. 幂等性:GET请求是幂等的,即多次执行相同的GET请求,资源的状态不会改变;POST请求不是幂等的,因为每次提交都可能改变资源状态
  6. 缓存:GET请求可以被缓存,POST请求默认不会被缓存

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

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

相关文章

PostgreSQL异常:An I/O error occurred while sending to the backend

在使用PostgreSQL数据库批量写入数据的时候,遇到了一个问题,异常内容如下: Cause: org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend.报错内容 报错提示1 Caused by: org.postgresql.util.PSQLExc…

[米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-25 ADC模块FEP-DAQ9248采集显示波形方案

软件版本:Anlogic -TD5.9.1-DR1_ES1.1 操作系统:WIN10 64bit 硬件平台:适用安路(Anlogic)FPGA 实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 ht…

网络编程之LINUX信号

网络编程中 Linux 信号: 一、信号概述 信号是 Linux 操作系统中一种异步的事件通知机制,用于在进程之间传递消息或指示某种系统状态的变化。它允许内核在特定条件发生时中断进程的正常执行流程,并调用相应的信号处理函数。 二、Linux 信号的分…

MTK 安卓14 launcher3修改桌面模式,替换某些应用图标,以及定制化Hotseat

原生的launcher的Hotseat如下图(1)所示,我想把效果改成图(2) 图(1) 图(2) 一:定制化HotSeat 修改的类:packages/apps/Launcher3/com/android/launcher3/Hotseat.java (1).修改hotseat的宽 Hotseat------->setInsetsOverridepublic void…

面试题001:Java的特点和优点,为什么要选择Java?

1.面向对象:Java是一门面向对象的编程语言,Java程序是用类来组织的,类是数据和操作数据的方法的集合,通过数据和方法一起描述对象的状态和行为。 2.简单性:Java在吸收C语言的各种优点的同时去除了C语言中令人难以理解…

Linux cd 和 pwd 命令

目录 1. 更改工作目录 cd 2. 查看当前工作目录 pwd 1. 更改工作目录 cd 打开虚拟机终端的时候,以用户的家目录为默认工作目录; 更多时候需要更改当前的工作目录(Change Directory), 语法:cd 【Linux路径】 没有参数…

Java 22 中的4个永久特性

功能处于孵化或预览阶段是什么意思? 实际上,这是向 Java 编程语言添加新功能的新过程,Java 社区使用这种过程来在 API 和工具处于早期实验阶段时从社区获得反馈(孵化功能)或已经完全指定但尚未永久的阶段(…

塔子哥的快乐值-小红书2024笔试(codefun2000)

题目链接 塔子哥的快乐值-小红书2024笔试(codefun2000) 题目内容 塔子哥有许多生活琐事。已知他生活中有n个事件,解决第i个事件需要他花费ti的时间和hi的精力,并能获得ai 的快乐值。 塔子哥想知道,在总花费时间不超过T且总花费精力不超过H的…

操作系统如何高效处理网络请求:IO多路复用技术

在处理大量请求时,各个引擎都会采用线程池的方法,并发处理这些请求,但当一万个请求来的时候,我们要创建一万个线程来处理吗,很显然不会,那假如我创建一千个线程,那一线程该如何处理这个十个请求…

3GPP R18 Multi-USIM是怎么回事?(四)

前几篇主要是MUSIM feature NAS 部分内容的总结,这篇开始看RRC部分相关的内容,由于RRC部分内容过长,也分成了2篇。这篇就着重看下musim gap以及RRC触发UE离开RRC Connected mode相关的内容,直入正题, 上面的内容在overview中有提到,对应的是如下38.300中的描述。 处于网络…

Python -numpy 基础-------1

NumPy(Numerical Python)是Python的一个开源数值计算扩展库。它支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的数组(ndarray)对象是一个快速且灵活的多维数组对象,用于存储…

编写自动化测试(11)

编写自动化测试 1.如何编写测试1.测试函数剖析1.创建测试库 2.使用 assert! 宏来检查结果3.使用assert_eq! 和 assert_ne!宏来测试相等4.自定义失败信息5.使用should_panic 检查 panic6.将Result<T, E>用于测试 2.控制测试如何运行1.并行或连续的运行测试1.1 精准控制运行…

取消当前的git commit操作

一、取消最近一次提交&#xff08;未推送到远程仓库&#xff09; 使用 git reset 保留工作目录、暂存区&#xff08;即只取消提交&#xff09;不变色 git reset --soft HEAD~1这会将当前分支回退到上一个提交&#xff0c;但保留所有更改在暂存区。 保留工作目录&#xff08…

黑龙江等保测评最新资讯:强化安全基线,赋能数字未来

在黑龙江省&#xff0c;随着数字化转型的不断深化&#xff0c;企业对其信息安全的关注也越来越高&#xff0c;而作为保护信息资产的一个重要环节的等保测评&#xff0c;也面临着新的机遇和挑战。 最新政策动向 最近&#xff0c;有关部门下发了《关于加强网络安全等级保护的指导…

Floyd

Floyd 本质&#xff1a;DP 算法特点&#xff1a;多源最短路&#xff0c;能一次性求解所有点对间的最短距离 适用对象&#xff1a;小图&#xff0c;允许边权为负&#xff0c;无法适用于负环图(负环:环上边权之和为负的环,当任意时刻出现 d p [ i ] [ i ] < 0 dp[i][i]<0…

Spring模块

1 事务注解Transactional 默认的隔离等级&#xff1a;DEFAULT&#xff0c;使用数据库的隔离等级。(读未提交、读已提交、可重复读、串行化、DEFAULT) 默认的传播行为&#xff1a;REQUIRED&#xff0c;有事务则加入当前事务&#xff0c;没有事务则创建一个新的事务 默认的回滚…

基于3D开发引擎HOOPS平台的大型三维PLM系统的设计、开发与应用

产品生命周期管理&#xff08;Product Lifecycle Management&#xff0c;PLM&#xff09;系统在现代制造业中扮演着至关重要的角色。随着工业4.0和智能制造的推进&#xff0c;PLM系统从最初的CAD和PDM系统发展到现在的全面集成、协作和智能化的平台。本文将探讨基于HOOPS平台的…

【python】Numpy运行报错分析:IndexError与形状不匹配问题

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

森林防火,森林防火智能储水罐_鼎跃安全

森林防火是保护森林的重要措施&#xff0c;每年发生的森林火灾都严重威胁着自然安全&#xff0c;对社会经济和生态造成严重的破坏。为了切实有效地预防并扑灭森林火灾&#xff0c;森林防火智能储水罐已成为现代森林防火体系中的重要装备。 储水罐内置传感器和控制系统&#xff…

【CTFWP】ctfshow-web32

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 题目介绍&#xff1a;题目分析&#xff1a;payload&#xff1a;payload解释&#xff1a;flag 题目介绍&#xff1a; <?php/* # -*- coding: utf-8 -*- # Autho…