首页 > 其他分享 >day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求和POST请求的区别

day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求和POST请求的区别

时间:2024-10-26 12:51:58浏览次数:3  
标签:HTTP 请求 GET 报文 服务器 POST

day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求和POST请求的区别

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

HTTP请求报文主要是由 请求行、请求头部、空行和请求体 四部分组成

  • 请求行主要包括了3个字段

    • 第一个是 方法 ,方法就是指定我们要取执行的操作,比如DET方法、PUT方法、POST、DELETE等
    • 第二个是 资源路径 ,资源路径就是我们所请求的资源的URI,也就是统一资源标识符【注1】
    • 第三个是 HTTP版本,比如说 HTTP/1.1或HTTP/2.0
  • 请求头部是用来通知 服务器 有关 客户端 的请求信息,主要包含的字段有:

    • Host:它表示 请求的服务器的 域名
    • Accept:它表示 客户端 可识别的 内容类型 列表

    除此以外,还有很多其他的常用字段。

  • 空行 位于请求头部和请求体之间,主要起分隔作用

  • 请求体 用于存放即将发送给服务器的数据,通常用于POST和PUT请求

HTTP响应报文用于传达服务器对客户端请求的处理结果和数据,它主要由状态行、响应头、空行和响应体 四部分组成

  • 状态行 由3个部分组成,即HTTP版本、状态码 和 状态消息【注2】

  • 响应头部 类似于请求头部,作用是把 服务器响应 的信息 告知 给客户端,主要包含的字段有:

    • Data:它表示 服务器 产生并发送 该响应报文的 日期和时间
    • Last-Modified:它表示 资源最后被修改的日期和时间
    • Server:它表示 产生该报文的服务器的信息
    • Content-Length:它表示 被发送对象中的 字节数
    • Content-Type:它表示 响应体中 对象的类型

    除此以外,还有很多其他的常用字段

  • 空行 位于响应头和响应体之间,表示响应头的结束

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

4.HTTP有哪些请求方式?(即方法字段的不同取值)

  • POST :表示向指定资源提交数据(数据包含在请求头中),然后建立新资源或者修改原有资源。 POST 请求是 HTTP 请求中使用最多的一种请求方式

  • GET :表示请求指定的资源

  • PUT :更新指定资源,具体方法:从客户端向服务器传送数据来取代指定的内容

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

  • HEAD :类似于 GET,只不过返回的响应体中没有具体内容,只有报文头,用于获取报文头部

  • PATCH :对 PUT 方法的补充,用来对已知资源进行局部更新

  • OPTIONS :查询服务器支持的请求方法

  • TRACE :回显服务器收到的请求,主要用于测试和诊断。

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

  • 第一个在 用途 上:GET 用于获取 服务器信息,POST 用于提交数据、传递数据

  • 第二个在 数据传输 上:GET 通过URL地址请求,POST 将要请求的数据放在请求体中

  • 第三个在 安全性 上:GET 由于参数暴露在URL中,安全性较低;POST 请求参数没有暴露在URL中,所以相对更安全

  • 第四个在 数据大小 上:GET 收到URL长度限制,所以数据量有限;POST 理论上没有大小限制

  • 第五个在 幂等性 上:GET 是幂等的,即多次执行相同的请求,资源的状态不会改变;POST 不是幂等的,因为每次提交数据都可能改变资源状态

  • 第六个在 缓存 上:GET 可以被缓存,POST 不会被缓存

【注1】

  • URI: 统一资源标识符,用来唯一标识互联网上资源的一个字符串。它可以用来定位任何类型的资源,包括网页、图片、文件、视频、服务等
  • URL:不仅唯一标识了资源,提供了资源的具体访问路径
  • URN:统一资源名称,而不关心资源当前的位置

【注2】

  • 例如 HTTP/1.1 200 OK

  • 常见状态代码、状态描述的说明如下:
    ​ 200 OK:客户端请求成功
    ​ 400 Bad Request:客户端请求有语法错误,不能被服务器所理解
    ​ 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
    ​ 403 Forbidden:服务器收到请求,但是拒绝提供服务
    ​ 404 Not Found:请求资源不存在,举个例子:输入了错误的URL
    ​ 500 Internal Server Error:服务器发生不可预期的错误
    ​ 502 Bad Gateway:访问请求响应超时
    ​ 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)

标签:HTTP,请求,GET,报文,服务器,POST
From: https://blog.csdn.net/2402_84438596/article/details/143245462

相关文章

  • 021、深入解析前端请求拦截器
    目录深入解析前端请求拦截器:1.引言2.核心实现与基础概念2.1基础拦截器实现2.2响应拦截器配置3.实际应用场景3.1完整的用户认证系统3.2文件上传系统3.3API请求缓存系统3.4请求重试机制3.5国际化处理4.性能优化实践4.1请求合并(RequestBatching)4.2......
  • HttpClient—请求第三方的服务
    1.介绍1.1简介HttpClient是ApacheJakartaCommons项目中的一个子项目,为开发人员提供了一个高效、功能丰富、支持最新HTTP协议的客户端工具包。它不仅可以支持HTTP/1.1和HTTP/2等最新版本的HTTP协议,还包括一系列高级特性,如连接池管理、SSL支持、自动重试机制、......
  • 相关请求参数的区别
    在前端开发中,params参数和path参数是两种常见的用于向后端发送数据的方式。以下是对这两种参数的详细解释以及后端如何获取它们,同时也会介绍如何使用axios从前端传递数据到后端的req.body。Path参数定义:Path参数是URL路径的一部分,通常用于标识资源的唯一性或特......
  • WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查
    在局域网中使用WebRTC时,无法访问摄像头和麦克风通常是因为浏览器的安全策略限制了getUserMediaAPI的使用。如果你在非localhost或非HTTPS环境下访问网页,浏览器会阻止访问摄像头和麦克风。解决方案在局域网中调试WebRTC时,你有几个选项来解决这个问题:1.使用lo......
  • 【网络原理】HTTPS
      目录前言为什么要使用HTTPS?HTTPS是如果进行加密的1.对称加密2.非对称加密中间人攻击3.证书 中间人有没有可能篡改证书?中间人有没有可能整个调包证书?前言在上一篇中,我们讲解了什么是HTTP,但是在实际应用中,浏览器和服务器之间很少使用HTTP协议来进行通信。为......
  • 抖音抖店 API 请求获取宝贝详情数据的调用频率限制如何调整?
    抖音抖店API请求获取宝贝详情数据的调用频率限制通常无法直接由开发者自行随意调整,以下是一些相关的情况和可能的途径:一、遵循平台既定规则:首先要明确抖音开放平台针对不同的API接口、开发者账号类型以及业务场景等设定了固定的调用频率限制标准。开发者必须严格遵守这些......
  • 处理容器报错:[ERROR] .. Get “http://safeline-fvm/skynetinto“: dial tp: lookup s
    雷池社区版(WAF)是基于容器部署的在容器化应用的部署和运行过程中,我们常常会遇到各种报错信息。其中,形如“[ERROR]detect/skynet.go:114Get“http://safeline-fvm/skynetinto":dialtp:lookupsafeline-fvmon127.0.0.11:53:servermisbehaving”以及“panic:Get......
  • 从本地到云端:跨用户请求问题的完美解决方案
    对于某些单个请求或响应中含有多个用户信息的服务,SDK提供了一套基于统一的UCS拆分和聚合的解决方案供开发者使用。请求拆分对于跨用户服务的请求,我们提供了两个处理方案:【1】根据用户信息拆分请求:场景:请求内含有对应多个用户的对象列表。例如批量查询,批量匹配订单进行批......
  • Netty、Go、Apache Tomcat、grpc-go、jetty、nghttp2、Apache Traffic Server是什么
    这些都是与网络编程和服务器应用相关的技术,下面我将分别简要介绍它们:Netty:Netty是一个异步事件驱动的网络应用程序框架,用于快速开发高性能、高可靠性的网络服务器和客户端程序。它支持多种协议,包括HTTP、HTTPS、FTP、SMTP等,广泛应用于游戏、移动、物联网、大数据等领域。......
  • 08-Flask中实现跨域请求
    为什么需要支持跨域浏览器的同源策略(Same-Origin Policy)限制了跨域请求,如果不进行特殊处理,跨域请求将被浏览器拦截。场景注意出现在前后的分离项目、第三方API等场景,接口支持跨域能够允许浏览器跨域请求不被浏览器拦截,让前端应用能够安全地请求不同域的资源,绕过浏览器的同源策......