http复习知识点归纳
http复习
一.http是什么的缩写
HTTP 是 HyperText Transfer Protocol 的缩写,中文名称为超文本传输协议。
二.核心作用是什么?作用在参考模型中的哪一层?
核心作用:用于在客户端(如浏览器)和服务器之间传输超文本数据(例如 HTML 页面、图片、视频等资源),是万维网(WWW)的基础通信协议,它定义了客户端如何向服务器请求资源,以及服务器如何响应请求。
所属层次:在 OSI 7 层参考模型 中属于应用层;在 TCP/IP 5 层参考模型 中同样属于应用层。
三.与TCP/IP的区别是什么
特性 HTTP TCP/IP
定义 单一的应用层协议,用于传输超文本资源 一套协议簇,包含多个不同层级的协议(如 TCP、IP、HTTP、FTP 等)
层级 仅对应应用层 覆盖从物理层到应用层的完整通信层级
依赖关系 依赖 TCP 协议提供可靠的字节流传输(HTTP/1.1、HTTP/2),或 UDP 协议(HTTP/3) TCP、IP 是其核心协议,HTTP 是其应用层的一个子集
作用范围 仅负责客户端与服务器的资源请求与响应 负责整个计算机网络的端到端通信,包括寻址、路由、传输、应用交互等
简单来说:TCP/IP 是一个协议体系,HTTP 是这个体系中应用层的一个具体协议。
四.5层参考模型、7层参考模型分别是什么?5层是7层中的哪2层进行了合并?
7 层模型(从下到上):物理层→数据链路层→网络层→传输层→会话层→表示层→应用层
5 层模型(从下到上):物理层→数据链路层→网络层→传输层→应用层
5 层是把 7 层里的会话层和表示层合并到应用层了。
五.当用户在浏览器地址栏输入一个URL并回车后的过程,请描述
① 浏览器先查 DNS,把网址换成服务器的 IP 地址;② 和服务器通过三次握手建立连接;③ 发请求要网页;④ 服务器处理后返回网页数据;⑤ 不用连接了就四次挥手断开;⑥ 浏览器把数据渲染成咱们看到的网页。
六..http请求的方法都有哪些?分别是什么意思
| GET | 请求获取指定资源 |幂等、安全;请求参数附加在 URL 后;无请求体或请求体无意义 |
| POST | 向指定资源提交数据(如表单提交) |非幂等;请求参数放在请求体中;可传输大量数据 |
| PUT | 向指定资源位置上传最新内容 |幂等;用于更新资源,若资源不存在则创建 |
| DELETE | 请求删除指定资源 |幂等;用于删除服务器上的目标资源 |
| HEAD | 类似 GET,但只返回响应头,无响应体 |用于获取资源的元信息(如文件大小、修改时间),不传输正文 |
| OPTIONS | 询问服务器支持的请求方法 |用于跨域请求(CORS)的预检请求 |
| PATCH | 对资源进行局部更新 |非幂等;与 PUT 的区别是 PUT 是全量更新,PATCH 是增量更新 |
七.7.请求和响应分别包含几部分?
1)HTTP 请求报文结构(3 部分)
请求行:包含请求方法、请求 URL、HTTP 协议版本(例:GET /index.html HTTP/1.1)。
请求头:由多个键值对组成,用于传递请求的附加信息(例:Host: www.example.com、User-Agent: Chrome/100.0.0.0)。
请求体:可选部分,用于传递请求数据(如 POST 请求的表单数据、JSON 数据);GET 请求一般无请求体。
格式:请求行 → 换行 → 请求头 → 空行 → 请求体
(2)HTTP 响应报文结构(3 部分)
状态行:包含 HTTP 协议版本、响应状态码、状态描述(例:HTTP/1.1 200 OK)。
响应头:由多个键值对组成,用于传递响应的附加信息(例:Content-Type: text/html、Content-Length: 1024)。
响应体:可选部分,用于传递服务器返回的资源数据(如 HTML 内容、图片二进制数据)。
格式:状态行 → 换行 → 响应头 → 空行 → 响应体
八.常见的响应状态码都是什么?什么含义
1xx(信息类):服务器已经收到请求,让你稍等,等着进一步处理
100 Continue:服务器说 “你继续发剩下的请求内容就行”
2xx(成功类):请求没问题,服务器已经处理好了
200 OK:最常见的,请求成功,服务器把你要的资源(网页、图片等)都给你了
201 Created:服务器成功创建了新资源,比如上传文件、新增数据的时候会返回
3xx(重定向类):你要的资源换地方了,需要你再去别的地址找找
301 Moved Permanently:永久重定向,资源彻底挪到新地址了,以后别再访问老地址
302 Found:临时重定向,资源只是暂时放别的地方,过段时间可能还会回来
304 Not Modified:资源没变化,你直接用本地缓存的就行,不用重新下载
4xx(客户端错误类):是你(客户端)的问题,服务器没法处理
400 Bad Request:请求格式错了,服务器看不懂
401 Unauthorized:你没登录或登录失效,得先登录才能访问
403 Forbidden:服务器认识你,但就是不让你访问(权限不够)
404 Not Found:最常见的,你要的资源不存在,可能是网址输错了
5xx(服务器错误类):服务器自己出问题了,跟你没关系
500 Internal Server Error:服务器内部故障,比如代码写错了、服务器崩了
502 Bad Gateway:服务器作为 “网关”,收到了上游服务器的无效响应
503 Service Unavailable:服务器暂时忙不过来(比如过载、维护),过会儿再试就好
九.三次握手四次挥手是什么意思?为什么是3,不是2或者4?
三次握手(建立 TCP 连接)
就是客户端和服务器建立可靠连接的 3 个步骤,目的是确认双方都能正常收发消息。
第一次:客户端喊服务器:“喂,能听到吗?我要连你了!”
第二次:服务器回应:“我能听到!你能听到我吗?”
第三次:客户端再喊:“我能听到!那咱连上吧!”
为啥是 3 次,不是 2 次或 4 次?
不能是 2 次:如果只两次,服务器发完回应,没法确认客户端能收到自己的消息。服务器以为连上了,客户端可能没收到回应,根本没连上,后续发数据就会丢。
不用是 4 次:3 次已经能确认 “客户端能发能收、服务器能发能收”,多一次纯属浪费时间,降低连接效率。
二、四次挥手(断开 TCP 连接)
就是客户端和服务器断开连接的 4 个步骤,目的是确保双方的数据都传完了,再彻底断开。
第一次:客户端说:“我数据发完了,咱断了吧!”
第二次:服务器回应:“收到,我知道你要断了!”(这时候服务器可能还有数据没发完)
第三次:等服务器把数据发完,再喊:“我数据也发完了,现在真能断了!”
第四次:客户端回应:“收到!那咱断了!”
为啥是 4 次,不是 3 次?因为服务器收到断开请求时,大概率还有数据要发,没法同时说 “我知道要断” 和 “我发完了”,必须分两步回应。所以比建立连接多了一次,没法省成 3 次。

浙公网安备 33010602011771号