1.http是什么的缩写
HTTP 是 HyperText Transfer Protocol 的缩写,中文意思是超文本传输协议
它是一种用于在万维网(WWW)上传输数据的应用层协议,主要作用是规范客户端(比如浏览器)和服务器之间的通信规则,让两者能够可靠地交换超文本内容(例如网页、图片、视频等)。
常见的与它相关的协议是 HTTPS,其中的 S 代表 Secure(安全),是 HTTP 的加密版本,能保障数据传输的安全性。
2.核心作用是什么?作用在参考模型中的哪一层?
HTTP的核心作用是规范客户端与服务器之间的超文本数据传输流程,简单说就是定义了浏览器(客户端)如何向网站服务器请求数据、服务器如何响应这些请求,从而实现网页内容的获取与展示。
HTTP 作用在TCP/IP 参考模型的应用层;对应 OSI 七层参考模型的话,同样位于应用层。
3.与TCP/IP的区别是什么
HTTP 和 TCP/IP 的核心区别是 从属关系不同:TCP/IP 是一套完整的网络通信协议簇,HTTP 是基于 TCP/IP 簇运行的单一应用层协议。
具体区别可以分为这几点:
01本质不同
- TCP/IP:是协议簇,包含从底层到应用层的一整套网络通信协议(如 IP、TCP、HTTP、FTP 等),是互联网通信的基础框架。
- HTTP:是单一应用层协议,仅用于客户端与服务器的超文本传输,属于 TCP/IP 协议簇的一部分。
02功能不同
- TCP/IP:负责全链路数据传输,涵盖数据封装、路由、可靠交付等全过程。
- HTTP:仅负责应用层的请求 - 响应规则,不处理底层传输,需依赖 TCP 协议建立连接。
03依赖关系不同
- HTTP依赖TCP/IP 协议簇中的 TCP 协议才能工作。
- TCP/IP 协议簇不依赖HTTP,可通过其他应用层协议(如 FTP、DNS)实现通信。
4.5层参考模型、7层参考模型分别是什么?5层是7层中的哪2层进行了合并?
七层参考模
- 应用层:为应用程序提供网络服务(如 HTTP、FTP、DNS)
- 表示层:处理数据的格式转换、加密解密、压缩解压缩
- 会话层:建立、管理和终止表示层实体之间的通信会话
- 传输层:提供端到端的通信服务(如 TCP、UDP)
- 网络层:负责分组转发和路由选择(如 IP 协议)
- 数据链路层:将物理层接收到的信号组成帧,进行差错检测
- 物理层:处理物理介质上的信号传输(如网线、光纤的电气特性)
五层参考模型(从上到下)
- 应用层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP 五层模型是将 OSI 七层模型中的 表示层 和 会话层 合并到了应用层中,因这两层的功能在实际的 TCP/IP 协议簇里,大多由应用层协议自行实现,无需单独分层
5. 当用户在浏览器地址栏输入一个URL并回车后的过程,请描述
- URL 解析:浏览器拆分 URL 的协议、域名、资源路径等信息。
- DNS 解析:查询 DNS 服务器,将域名转换为目标服务器的 IP 地址。
- 建立连接:基于 IP 和端口,通过TCP 三次握手建立连接;若为 HTTPS,额外进行 TLS/SSL 加密握手。
- 发送请求:浏览器向服务器发送 HTTP 请求报文,请求指定资源。
- 服务器响应:服务器处理请求,生成并返回 HTTP 响应报文(含状态码、响应体如 HTML)。
- 断开连接:数据传输完成后,通过TCP 四次挥手断开连接(HTTP/1.1 可复用连接)。
- 页面渲染:浏览器解析 HTML、CSS,构建 DOM 树和渲染树,最终绘制出网页。
6.http请求的方法都有哪些?分别是什么意思
- GET
向服务器请求获取资源,是最常用的方法。请求参数会附加在 URL 后,传输数据量有限,且不安全(参数暴露),一般用于查询操作。
- POST
向服务器提交数据,请求参数放在请求体中,可传输大量数据,相对安全。常用于表单提交、文件上传等场景。
- PUT
向服务器上传或更新资源,要求客户端提供资源的完整内容,若资源不存在则创建,存在则覆盖。
- DELETE
要求服务器删除指定资源。
- HEAD
与 GET 类似,但服务器只返回响应头,不返回响应体。常用于检查资源是否存在、获取资源的元信息(如文件大小)。
- OPTIONS
查询服务器支持的所有 HTTP 请求方法,可用于跨域请求的预检。
7. 请求和响应分别包含几部分?
- HTTP 请求报文(3 部分)
- 请求行:包含请求方法(GET/POST 等)、请求 URL、HTTP 协议版本,例:GET /index.html HTTP/1.1
- 请求头:键值对形式的附加信息,如Host(目标主机)、User-Agent(客户端信息)、Content-Type(请求体数据格式)
- 请求体:可选部分,承载需要提交给服务器的数据(如 POST 请求的表单参数、JSON 数据);GET 请求一般无请求体
- HTTP 响应报文(3 部分)
- 状态行:包含 HTTP 协议版本、状态码、状态描述,例:HTTP/1.1 200 OK
- 响应头:键值对形式的附加信息,如Content-Type(响应体数据格式)、Server(服务器软件信息)、Set-Cookie(设置 Cookie)
- 响应体:服务器返回的核心数据,如 HTML 页面、JSON 数据、图片二进制流等
8.常见的响应状态码都是什么?什么含义
- 2xx(成功类)
- 200 OK:请求成功,服务器正常返回数据。
- 201 Created:请求成功,且服务器创建了新资源(如新增数据)。
- 204 No Content:请求成功,但无数据返回。
- 3xx(重定向类)
- 301 Moved Permanently:资源永久重定向到新地址。
- 302 Found:资源临时重定向到新地址。
- 304 Not Modified:资源未修改,客户端可使用本地缓存。
- 4xx(客户端错误类)
- 400 Bad Request:请求参数或格式错误,服务器无法解析。
- 401 Unauthorized:请求需用户认证,当前未登录或凭证无效。
- 403 Forbidden:服务器拒绝访问,认证成功也无权限。
- 404 Not Found:请求的资源不存在。
- 429 Too Many Requests:请求过于频繁,触发限流。
- 5xx(服务器错误类)
- 500 Internal Server Error:服务器内部未知错误。
- 502 Bad Gateway:网关 / 代理收到上游服务器无效响应。
- 503 Service Unavailable:服务器暂时无法提供服务(如维护、过载)。
9.三次握手四次挥手是什么意思?为什么是3,不是2或者4?(重)
- 定义:TCP 协议中客户端与服务器双向确认收发能力、建立可靠连接的过程。
- 流程
- 第一次:客户端发SYN报文,请求建立连接。
- 第二次:服务器回SYN+ACK报文,确认收到请求并同意连接。
- 第三次:客户端发ACK报文,确认收到服务器的同意。
- 为什么是 3 次,非 2/4 次
- 不能 2 次:2 次握手仅能确认 “客户端发→服务器收”“服务器发→客户端收”,服务器无法确认客户端能否接收自己的报文,易产生无效连接、浪费资源。
- 无需 4 次:3 次已完成双向能力确认,4 次属于冗余操作,会增加连接耗时。
四次挥手(TCP 断开连接)
- 定义:TCP 协议中客户端与服务器释放全双工通信链路、断开连接的过程。
- 流程
- 第一次:主动关闭方发FIN报文,请求关闭自身发送通道。
- 第二次:被动关闭方发ACK报文,确认收到关闭请求。
- 第三次:被动关闭方数据发送完毕后,发FIN报文,请求关闭自身发送通道。
- 第四次:主动关闭方发ACK报文,确认收到,连接断开。
- 为什么是 4 次,非 3 次
TCP 是全双工通信,需分别释放两个方向的链路。被动关闭方收到FIN后,可能还有数据未发送,无法同时发送FIN+ACK,必须分 “确认关闭请求” 和 “发起关闭请求” 两步,因此需要 4 次挥手。
10.请求头包含几部分?响应头包含几部分?
- 请求头是请求报文的独立部分,请求报文整体含 请求行、请求头、请求体 三部分。
- 响应头是响应报文的独立部分,响应报文整体含 响应行、响应头、响应体 三部分。
11.http和https的区别是什么?
- 全称不同
HTTP 是超文本传输协议;HTTPS 是超文本传输安全协议。
- 安全性不同
HTTP 以明文方式传输数据,易被窃听、篡改和伪造,无安全保障;HTTPS 基于 SSL/TLS 协议对数据加密传输,能保障数据隐私和完整性。
- 端口号不同
HTTP 默认使用 80 端口;HTTPS 默认使用 443 端口。
- 证书要求不同
HTTP 无需任何证书;HTTPS 需要 CA 机构颁发的数字证书,用于验证服务器身份合法性。
- 性能不同
HTTP 无加密解密的额外开销,传输速度更快;HTTPS 因加密解密过程会产生性能损耗,传输速度略慢。
- 地址标识不同
HTTP 网址以 http:// 开头;HTTPS 网址以 https:// 开头。
核心区别:HTTPS 是 HTTP 的安全升级版,通过 SSL/TLS 解决了 HTTP 明文传输的安全隐患,代价是少量性能损耗和证书部署成本。
12.HTTP中的s是什么,以上http和https的端口号各是什么
- HTTPS 中的 S 是 Secure(安全的)的缩写。HTTPS 全称是 HyperText Transfer Protocol Secure,即超文本传输安全协议,本质是 HTTP + SSL/TLS 协议的组合,通过加密保障传输安全。
- 端口号区别
- HTTP 默认使用 80 端口;
- HTTPS 默认使用 443 端口
13.cookie和缓存有什么区别
- 用途不同
Cookie:存储用户身份、登录状态等个性化标识信息。
缓存:存储 HTML、图片等静态资源,提升页面加载速度。
- 存储内容与大小
Cookie:4KB 左右的小型键值对文本,数量有限。
缓存:完整资源文件,容量远大于 Cookie。
- 生命周期
Cookie:由服务器设置,分会话型(关浏览器失效)和持久型(按过期时间保存)。
缓存:由响应头缓存策略控制,可手动清除或随资源更新失效。
- 传输方式
Cookie:每次请求会随请求头发送给服务器。
缓存:本地读取,不向服务器传输,缓存失效才重新请求