HTTP 协议内容的介绍与应用

本文深入介绍了HTTP协议,包括其简单请求-响应模型、数据结构、请求方法、状态码、消息报头等内容,并探讨了HTTP与HSF、Dubbo等TCP层协议的差异。此外,还讲解了SpringMVC中与HTTP相关的注解以及Swagger在生成接口文档中的作用。HTTP在实际开发中被广泛应用于Web服务和接口定义,是前后端协作的重要基础。
摘要由CSDN通过智能技术生成

HTTP简介

HTTP 超文本传输协议(Hyper Text Transfer Protocol)是一个应用层的协议,使用相当广泛,比如我们常说浏览器敲入网址打开网页,浏览器跟后台服务器之间就用的是HTTP,并且也常用于后端各个微服务之间的数据请求和通信。是我们常说的Web技术的基石,也是互联网的基础技术之一。

HTTP的一些优点:

  • HTTP有着简单的请求-响应数据模型,非常易于理解。
  • 简单快速。客户端向服务器请求服务时,只需要传送请求方法和路径。具有无状态性。
  • 他基于TCP,通信过程稳定可靠,并且对开发者透明,可以不关注数据是如何传输的。
  • 由于他是应用层的协议,可以方便地实现跨网络传输,通过nginx等网关可以方面地实现跨网络转发。
  • 基于HTTP,我们通常可以搭配SSL的数据加密技术,配合成为HTTPS,保证数据通信过程的数据传输安全。

HTTP协议内容

HTTP是W3C和IETF两个国际组织共同推出的标准化计算协议,目前主流的是1.1版本,2.0版本也在逐步推广中,想要查阅协议原文的同学可以看这里:

HTTP1.1协议(RFC 2616): https://datatracker.ietf.org/doc/html/rfc2616

HTTP2.0协议(RFC 7540): https://datatracker.ietf.org/doc/html/rfc7540

2.0在网络传输技术,报文细节方面有很多优化。但对于开发同学来讲,关联度并不大,所以后续将以目前主流的1.1版协议内容进行介绍。

请求响应模型

对于每一次的网络通信,一定会有发出的数据和返回,在HTTP中就叫做请求(Request)和响应(Response)。比如通过浏览器访问网页,我们要查看的网页url、请求参数等,都在Request对象中,返回的网页内容等,在Response对象中。

请求的数据结构

客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

请求行

包含 请求方法(Method) 请求地址(Request-URI ) 协议版本(HTTP-Version ) 三部分信息。举例:

GET https://www.taobao.com HTTP/1.1

请求方式

  • OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。
  • HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
  • GET:向特定的资源发出请求。
  • POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。
  • PUT:向指定资源位置上传其最新内容。
  • DELETE:请求服务器删除 Reque
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值