玩命加载中 . . .

备战大厂前端面试之计算机网络篇


前端面试题系列文章:

计算机网络

从url到渲染

HTTP 协议

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本(HTML)文档的应用层协议。它是在客户端和服务器之间进行通信的一种规范,用于请求和响应数据。

HTTP 的主要特点包括:

  • 无连接:每个 HTTP 请求都是独立的,服务器不会保留之前的任何请求状态。这意味着每个请求都需要进行完整的连接、传输和关闭,无法直接利用已经建立的连接。
  • 无状态:HTTP 协议本身不对请求和响应之间的状态进行持久化保存。服务器不会保留之前请求的任何信息,每个请求都是相互独立的。这导致服务器无法感知客户端之间的关联和状态。
  • 简单灵活:HTTP 的设计目标之一是简单性,它的方法和头部字段的语义相对简单,易于理解和实现。同时,HTTP 协议也具备一定的灵活性,允许根据需要添加自定义的头部字段和扩展功能。
  • 支持缓存:HTTP 协议支持缓存机制,可以将经常请求的资源保存在客户端或代理服务器上,减少对服务器的请求,提高访问速度和性能。

HTTP 协议使用请求-响应模型,客户端发起一个请求,服务器接收请求并返回响应。请求和响应的结构由方法(如 GET、POST、PUT、DELETE)、URL、协议版本、头部字段和可选的主体组成。HTTP 的工作流程如下:

  1. 建立连接:客户端通过 TCP(Transmission Control Protocol)与服务器建立连接。默认使用端口号 80 ,如果使用加密的 HTTPS 则使用端口号 443

  2. 发送请求:客户端向服务器发送 HTTP 请求,请求由以下几部分组成:

  • 请求行:包含请求方法、请求 URL 和协议版本
  • 请求头部:包含与请求相关的各种信息,如用户代理、内容类型等
  • 请求主体(可选):用于传输请求的数据,如表单数据、JSON 数据等
  1. 处理请求:服务器接收到请求后,根据请求行中的方法和 URL 进行处理,并生成相应的响应。

  2. 发送响应:服务器将生成的 HTTP 响应发送回客户端,响应由以下几部分组成:

  • 状态行:包含协议版本、状态码和状态消息。
  • 响应头部:包含与响应相关的各种信息,如内容类型、缓存控制等。
  • 响应主体:包含服务器返回的数据,如 HTML 页面、JSON 数据等。
  1. 关闭连接:在请求和响应完成后,客户端和服务器都可以选择关闭连接,释放资源。

HTTP 协议定义了一些常见的请求方法,包括:

  • GET:从服务器获取资源。
  • POST:向服务器提交数据,用于创建新资源或进行处理。
  • PUT:将数据发送到服务器,用于更新现有资源。
  • DELETE:删除服务器上的资源。
  • PATCH:部分更新服务器上的资源。
  • HTTP 协议还支持一些其他功能,如缓存控制、身份验证、重定向、内容压缩等。

总结起来,HTTP 协议是一种用于在客户端和服务器之间传输数据的协议,它采用请求-响应模型,通过请求方法和 URL 标识资源,并使用各种头部字段来传递额外的信息。HTTP 协议在 Web 开发中广泛应用,为浏览器和服务器之间的数据交换提供了一种标准化的方式。

TLS 连接

什么是 HTTP3

HTTP1.0/1.1/2.0 的区别

GET 和 POST 的区别

  1. GET 一般是获取数据,POST 一般是提交数据
  2. GET 参数会放在 url 上,安全性比较差,POST 是放在 body 中
  3. GET 请求刷新服务器或退回是没有影响的,POST 请求退回时会重新提交数据
  4. GET 请求时会被缓存,POST 请求不会被缓存
  5. GET 请求会被保存在浏览器历史记录中,POST 不会
  6. GET 请求只能进行 url 编码,POST 请求支持很多种(文件、表单)

文章作者: hcyety
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hcyety !
评论
  目录