关于http

  1. http 是什么的缩写
    HTTP是Hyper Text Transfer Protocol的缩写,即超文本传输协议。

  2. 核心作用是什么?作用在参考模型中的哪一层?
    核心作用:用于在万维网(WWW)上传输超文本数据(如HTML文件、图片、视频等),规定了客户端和服务器之间的通信格式与交互规则。
    参考模型层级:在OSI七层模型中属于应用层;在TCP/IP五层模型中也属于应用层。

  3. 与 TCP/IP 的区别是什么
    维度 HTTP TCP/IP
    协议类型 应用层单协议 一套协议簇(含TCP、IP、HTTP、DNS等)
    作用范围 规定客户端与服务器的超文本传输规则 定义整个网络通信的分层架构与数据传输规范
    依赖关系 基于TCP协议实现可靠传输 TCP是其传输层核心协议,IP是网络层核心协议

4.5层参考模型、7层参考模型分别是什么?5层是7层中的哪2层进行了合并?
OSI七层参考模型(从上到下):应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
TCP/IP五层参考模型(从上到下):应用层、传输层、网络层、数据链路层、物理层。
合并层:五层模型将七层模型的表示层和会话层合并到了应用层中。

  1. 当用户在浏览器地址栏输入一个URL并回车后的过程

  2. DNS解析:将URL中的域名转换为对应的IP地址。

  3. 建立TCP连接:客户端与服务器通过三次握手建立TCP连接。

  4. 发送HTTP请求:客户端向服务器发送HTTP请求报文(包含请求方法、请求头、请求体等)。

  5. 服务器处理请求:服务器解析请求,处理业务逻辑并生成HTTP响应报文。

  6. 服务器返回响应:服务器将响应报文(包含状态码、响应头、响应体)通过TCP连接返回给客户端。

  7. 关闭TCP连接:通过四次挥手关闭TCP连接(若为HTTP/1.1且开启长连接则不立即关闭)。

  8. 浏览器渲染页面:解析响应体中的HTML、CSS、JS等资源,渲染出最终的网页。

  9. http 请求的方法都有哪些?分别是什么意思
    方法 含义
    GET 向服务器请求获取资源,请求参数附在URL后,无请求体(或仅有少量数据)
    POST 向服务器提交数据,请求参数放在请求体中,可用于创建、修改资源
    PUT 向服务器提交数据,用于替换目标资源的全部内容
    DELETE 请求服务器删除指定资源
    HEAD 与GET类似,但仅返回响应头,不返回响应体,用于获取资源的元信息
    PATCH 向服务器提交数据,用于部分修改目标资源的内容
    OPTIONS 询问服务器支持的HTTP方法,用于跨域请求的预检

  10. 请求和响应分别包含几部分?
    HTTP请求报文:由请求行(请求方法、URL、协议版本)、请求头(键值对形式的请求属性)、空行(分隔请求头和请求体)、请求体(提交的参数数据,可选)四部分组成。
    HTTP响应报文:由状态行(协议版本、状态码、状态描述)、响应头(键值对形式的响应属性)、空行(分隔响应头和响应体)、响应体(返回的资源数据,如HTML、JSON等)四部分组成。

  11. 常见的响应状态码都是什么?什么含义
    状态码分为5类,常见的如下:
    状态码 类别 含义示例
    200 成功类(2xx) 请求成功,服务器正常返回数据
    301 重定向类(3xx) 资源永久重定向
    302 重定向类(3xx) 资源临时重定向
    400 客户端错误(4xx) 请求参数错误
    401 客户端错误(4xx) 未授权,需要身份验证
    403 客户端错误(4xx) 服务器拒绝访问
    404 客户端错误(4xx) 请求的资源不存在
    500 服务器错误(5xx) 服务器内部未知错误
    502 服务器错误(5xx) 网关错误,上游服务器无响应
    503 服务器错误(5xx) 服务器暂时不可用(如过载)

  12. 三次握手四次挥手是什么意思?为什么是3,不是2或者4?
    三次握手:TCP建立连接的过程,确保客户端和服务器的收发能力都正常:

  13. 客户端→服务器:发送SYN报文,请求建立连接。

  14. 服务器→客户端:发送SYN+ACK报文,确认客户端的请求并同步自身序列号。

  15. 客户端→服务器:发送ACK报文,确认服务器的同步。
    为什么是3次:2次握手无法验证服务器的发送能力(客户端收不到服务器的SYN+ACK,就无法确认服务器能收到自己的报文);4次握手则多余,三次已能完成双向通信的能力验证。
    四次挥手:TCP关闭连接的过程,确保双方都完成数据传输:

  16. 客户端→服务器:发送FIN报文,请求关闭连接。

  17. 服务器→客户端:发送ACK报文,确认客户端的关闭请求(此时服务器可能还在发送数据)。

  18. 服务器→客户端:发送FIN报文,告知客户端自身数据已发送完毕,请求关闭。

  19. 客户端→服务器:发送ACK报文,确认服务器的关闭请求,连接最终关闭。
    为什么是4次:TCP是全双工通信,关闭时需要分别确认双方的发送通道关闭,因此需要四次交互。

  20. 请求头包含几部分?响应体包含几部分?
    请求头:无“几部分”的严格划分,是一系列键值对的集合,按功能可分为通用头(如Connection)、请求头(如User-Agent)、实体头(如Content-Type)等,用于传递请求的附加信息(如客户端信息、请求数据格式、缓存策略等)。
    响应体:是服务器返回的实际资源数据,无固定组成部分,格式由响应头的Content-Type指定(如HTML文本、JSON字符串、图片二进制数据等),仅包含业务相关的返回内容。

posted @ 2025-12-29 09:05  RayPalos  阅读(0)  评论(0)    收藏  举报