HTTP协议(请求方式,响应方式,请求行、头、体,状态码)是热点面试题【详解】

目录

1. HTTP简介  

1.介绍

2.浏览器抓包

3.特点

2. HTTP请求

1.HTTP请求的格式

2.HTTP请求方式

3.GET方式的请求示例

请求行

请求头

请求体

4.POST方式的请求示例

请求行

请求头

请求体

GET和POST的区别

5.HTTP响应

1.HTTP响应的格式

2 常见响应头

3 响应状态码


1. HTTP简介  

1.介绍

HTTP:Hyper Text Transfer Protocol(超文本传输协议),规定了浏览器与服务器之间数据传输时,数据的格式规范。是互联网上应用最为广泛的网络协议。

HTTP协议规定的数据格式由两部分组成:

  • HTTP请求:客户端发送给服务端的数据

  • HTTP响应:服务端返回给客户端的数据

HTTP协议是请求驱动的:有请求才会有响应;没有请求就没有响应(服务端高冷闷骚)

2.浏览器抓包

        如果想知道http协议的数据传输格式有哪些,可以打开浏览器,点击F12打开开发者工具,点击Network来查看

查看请求

浏览器发送给服务端的数据

查看响应

服务器给向浏览器返回的数据

3.特点

  • 基于TCP协议: 面向连接,安全

  • 请求驱动: 有请求才有响应,没有请求就没有响应

  • HTTP协议是无状态协议: 对于数据没有记忆能力。每次请求-响应都是独立的

  • 无状态指的是客户端发送HTTP请求给服务端之后,服务端根据请求响应数据,响应完后,不会记录任何信息。

    • 缺点: 多次请求间不能共享数据

    • 优点: 速度快

    请求之间无法共享数据会引发的问题:

    • 如:京东购物。加入购物车和去购物车结算是两次请求

    • 由于HTTP协议的无状态特性,加入购物车请求响应结束后,并未记录加入购物车是何商品

    • 发起去购物车结算的请求后,因为无法获取哪些商品加入了购物车,会导致此次请求无法正确展示数据

    具体使用的时候,我们发现京东是可以正常展示数据的,原因是Java早已考虑到这个问题,并提出了使用会话技术(Cookie、Session)来解决这个问题。具体如何来做,后面文章解释

2. HTTP请求

1.HTTP请求的格式

HTTP请求的格式又分为:

  • 请求行:本次请求的基本信息。

    格式:请求方式 请求路径 协议版本

    示例:GET /emp/1 HTTP/1.1

  • 请求头:本次请求的附加信息。

    格式:一行一个键值对,一个键值对是一个请求头,一次请求可以有多个请求头

    示例:Host: localhost:8080

  • 请求体:本次请求的正文内容。

    格式:没有固定格式,可以是json,也可以是表单,也可以是二进制数据

    其中:

    • json格式示例:{"name":"tom", "age": 20}

    • 表单格式示例:name=tom&age=20

    注意:POST和PUT方式才有请求体,GET和DELETE方式没有请求体

2.HTTP请求方式

在HTTP1.1版本中,浏览器访问服务器的几种方式:

3.GET方式的请求示例

请求行

本次请求的基本信息,在HTTP请求中的第一行,格式:请求方式 资源路径 协议版本

其中资源路径:/brand/findAll?name=OPPO&status=1

  • 请求路径:/brand/findAll

  • 请求参数:name=OPPO&status=1

    • 请求参数是以key=value形式出现

    • 多个请求参数之间使用&连接

  • 请求路径和请求参数之间使用?连接

请求头

本次请求的附加信息,从第二行开始,上图黄色部分内容就是请求头。格式为key: value形式

常见的HTTP请求头有:

  • Host: 表示请求的目标服务器主机名

  • User-Agent: 客户端浏览器的信息

    例如:Chrome浏览器的标识类似Mozilla/5.0 ...Chrome/79 ,IE浏览器的标识类似Mozilla/5.0 (Windows NT ...)like Gecko

  • Accept:表示浏览器能接收的资源类型,如text/*image/*或者*/*表示所有;

  • Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;

  • Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。

  • Content-Type:请求主体的数据类型

  • Content-Length:数据主体的大小(单位:字节)

请求体

GET和DELETE方式没有请求体

4.POST方式的请求示例

请求行

本次请求的基本信息,以上图中红色部分,在HTTP请求中的第一行,格式:请求方式 资源路径 协议版本

请求头

本次请求的附加信息,以上图中黄色部分

请求体

本次请求的正文内容,通常是提交给服务端的请求参数,以上图中绿色部分

请求参数的格式,常见的有:

  • json格式:Ajax技术使用POST方式提交的数据通常是json格式的,例如 {"name":"tom", "age":20}

  • 表单格式:传统的表单使用<input type="submit">提交的是表单格式,例如 name=tom&age=20

  • 二进制形式:客户端上传文件时使用二进制形式

注意:请求体和请求头之间是有一个空行隔开(作用:用于标记请求头结束)

GET和POST的区别

5.HTTP响应

1.HTTP响应的格式

与HTTP的请求一样,HTTP响应的数据也分为3部分:

  • 响应行:本次响应的基本内容

    格式:协议版本 响应状态码 响应描述

    例如:HTTP/1.1 200 OK

  • 响应头:本次响应的附加信息

    格式:一行一个键值对,一个键值对是一个响应头,一次响应可以有多个响应头

    例如:Content-Type: application/json

  • 响应体:本次响应的正文内容

    格式:没有固定格式,响应什么客户端就得到什么

2 常见响应头

  • Content-Type:表示该响应内容的类型,例如text/html,image/jpeg ;

  • Content-Length:表示该响应内容的长度(字节数);

  • Content-Encoding:表示该响应压缩算法,例如gzip ;

  • Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒 ;

3 响应状态码

参考: 具体的码很多这里只介绍少五大类和常见的,可以去官网上查,

状态码大全:状态 | Status - HTTP 中文开发手册 - 开发者手册 - 腾讯云开发者社区-腾讯云

常见的响应状态码:
    

        

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

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

相关文章

Java面试(4)之 Spring Bean生命周期过程

一, 整个加载的完整链路图 更详细的生命周期函数链路图(仅供参考) 二, Bean实例化的四种方式: 1, 无参构造器(默认且常用)6 2, 静态工厂方法方式(factory-method指定实例化的静态方法) 3, 实例工厂方法方式(factory-bean指定bean的name,factory-method指定实例化方法) 4, 实…

基于springboot+vue实现民宿管理系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现民宿管理系统演示 摘要 伴随着我国旅游业的快速发展&#xff0c;民宿已成为最受欢迎的住宿方式之一。民宿借助互联网和移动设备的发展&#xff0c;展现出强大的生命力和市场潜力。民宿主要通过各种平台如携程、去哪儿、淘宝等在网络上销售线下住宿服务&a…

rabbitmq总结

一、初次感知 https://www.cnblogs.com/zqyx/p/13170881.html 这篇文章非常好&#xff0c;讲了一些持久化的原理。 1. 第一次使用rabbitmq发信息 // 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();connectionFactory.setHost("192.168.88.1…

led护眼灯真的能护眼吗?五大热门护眼台灯测评,不容错过!

如今&#xff0c;儿童近视率不断攀升&#xff0c;其中用眼过度疲劳已成为近视的主要诱因。学习环境中光线的适宜与否&#xff0c;直接关乎孩子眼睛的疲劳程度。因此&#xff0c;为孩子营造一个舒适、健康的学习环境显得尤为关键。而一款优质的护眼台灯&#xff0c;正是预防近视…

什么是AI智能答题?

AI智能答题是指利用人工智能&#xff08;AI&#xff09;技术&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;和机器学习&#xff08;ML&#xff09;算法&#xff0c;来理解、分析并回答用户提出的问题的过程。这种技术可以应用于各种场合&#xff0c;包括在线教育平…

从新能源汽车行业自动驾驶技术去看AI的发展未来趋势

自动驾驶汽车关键技术主要包括环境感知、精准定位、决策与规划、控制与执行、高精地图与车联网V2X以及自动驾驶汽车测试与验证技术等。 &#x1f413; 自动驾驶技术 这是AI在汽车行业中应用最广泛的领域之一。自动驾驶技术利用AI算法和传感器来感知环境、识别障碍物&#xff0c…

【LeetCode: 149. 直线上最多的点数 + 模拟遍历】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

前端javascript的BOM对象知识精讲

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 BOM对象1.window对象2.定时器3.screen对象4.location对象5.navigator…

搜索SEO是什么?

1.搜索SEO&#xff08;search engine optimization搜索引擎优化&#xff09;&#xff1a;搜索引擎优化&#xff1b; ①搜索引擎&#xff1a;通过百度、谷歌、淘宝等搜索引擎去获取信息&#xff1b; ②优化&#xff1a;运营通过数据获取、数据分析、数据决策、数据正向反馈去…

Linux——文件标识符

目录 一、文件基础 二、常见的C语言文件接口 三、系统文件接口 四、理解语言与系统文件操作的关系 五、如何理解一切皆文件 六、文件标识符再理解 一、文件基础 一个空文件&#xff0c;也会占用磁盘空间&#xff0c;这是因为文件不仅仅有存放在里面的内容&#xff0c;还…

赋能汽车电动化与智能化,AUTO TECH 2024 华南展专业观众预登记开始啦!

赋能汽车电动化与智能化&#xff0c;AUTO TECH 2024 华南展专业观众预登记开始啦&#xff01; 一年一度的 AUTO TECH 又将来临&#xff0c; 2024年5月15-17日与您相约广州保利世贸博览馆&#xff0c; 本次展会汇聚全球传统车企、新势力车企等最新的造车技术&#xff0c;零部件…

纯css实现太极八卦图

感觉最近好像闯鬼了&#xff0c;赶紧写个八卦图避避邪&#xff0c;开玩笑了&#xff0c;不废话&#xff0c;上菜&#xff0c;看效果上代码。 效果 代码&#xff0c;你们都是大佬&#xff0c;这里就不解释代码了 &#xff08;hover会转动喔&#xff09;。 <!DOCTYPE html&g…

知名比特币质押协议项目Babylon确认参加Hack.Summit()2024区块链开发者大会

Babylon项目已确认将派遣其项目代表出席2024年在香港数码港举办的Hack.Summit()2024区块链开发者大会。作为比特币生态的领军项目&#xff0c;Babylon积极参与全球区块链领域的交流与合作&#xff0c;此次出席大会将为其提供一个展示项目进展、交流技术与创新思路的重要平台。B…

信奥一本通:2025:【例4.11】体操队

其实这个数有规律&#xff0c;这个数取余23456的结果都是1&#xff0c;因为每排两人&#xff0c;多一个&#xff0c;就相当于除2余1.每排三人&#xff0c;多一人&#xff0c;除3余1。那么根据这个就能确定结果了 #include <iostream> using namespace std; int main(){i…

YOLOv8改进 | 主干篇 | 轻量级的低照度图像增强网络IAT改进YOLOv8暗光检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是轻量级的变换器模型:Illumination Adaptive Transformer (IAT),用于图像增强和曝光校正。其基本原理是通过分解图像信号处理器(ISP)管道到局部和全局图像组件,从而恢复在低光或过/欠曝光条件下的正常光照sRGB图像。具体来说,IAT…

最小二乘法(带你 原理 实践)

文章目录 引言一、最小二乘法的基本原理二、最小二乘法的计算过程建立模型确定目标函数求解模型参数模型检验 三、最小二乘法的优缺点优点原理简单易懂统计特性优良适用范围广泛 缺点对异常值敏感假设条件较多 四、最小二乘法在实际应用中的案例五、如何克服最小二乘法的局限性…

代码之旅:我的算法探索之路(二)力扣 最接近的三数之和

目录 LeetCode 第16题 最接近的三数之和 题目 解题思路 代码 结果 LeetCode 第18题 四数之和 题目 解题思路 代码 结果 LeetCode 第16题 最接近的三数之和 题目 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使…

【Azure 架构师学习笔记】- Azure Private Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 公有云的其中一个特点是默认允许公网访问&#xff0c; 这就对企业环境带来风险&#xff0c;也是很多年前企业对公有云抵触的其中一个原因&#xff0c;现在这类问题已经很少&#xff0c;因为有了很多技术来确保云上的资源被安全地…

技术小知识:云计算服务下的IaaS,PaaS,SaaS⑥

一、云计算 云计算起源仿照天空的云朵聚集&#xff0c;对大量服务器的远程管理。以便能对服务器做空间、资源的最大利用和降低操作执行命令的复杂度。 二、云计算衍生下的服务 在服务器以一种云的形式存在&#xff0c;衍生除了很多服务提供&#xff0c;以便用户可以方便&#x…