为什么一个项目在idea中的配置文件设置端口号为8000,在vue中设置端口号为8080,项目可以运行成功?

        在学习一个前后端分离开发的项目中,突然发现该项目在idea的配置文件中,设置的端口号为8000

application.properties:

server.port=8000

而在vue的配置文件中,设置的项目端口号为8080:

devServer: {port: 8080,client: {// 当出现错误时是否在浏览器中显示全屏覆盖。默认值为trueoverlay: false}},

看到这里,我蒙蔽了,心里在想,端口号不一致项目还能运行成功???

赶紧问AI,安慰幼小的心灵。


回来了,愚蠢的问题解决啦!!!

1.两个端口号设置的不一样,只是代表着有两个不同的服务或应用程序在运行(看到这里我恍然大悟----要是前后端的端口号一样那不坏事了吗)

2.后端服务(可能是Spring Boot、Node.js等):这个服务运行在IDEA(如IntelliJ IDEA)中,并且它的端口号在项目的配置文件(如application.propertiesapplication.ymlserver.js等)中被设置为8000。这个服务可能是REST API的提供者,负责处理数据请求和与数据库交互。

注:REST API是一种软件架构设计风格,用于创建网络数据服务。REST API 是一种基于 HTTP 协议、使用 URI(统一资源标识符)对网络资源进行标识和访问的接口规范。REST API 通常用于 Web 服务和客户端之间的通信,允许客户端从服务器请求数据或向服务器发送数据。

3.前端Vue应用: 这个Vue应用是一个单页应用程序(SPA),它通常通过vue CLl或其他构建工具来构建和启动。它的开发服务器端口号在Vue的配置文件(如 vue.config.js)或启动命令中设置为8080。这个Vue应用负责向用户展示界面,并通过API请求与后端服务通信。

        这两个服务可以独立运行,并且它们通常在不同的端口上运行,以便它们可以同时监听请求而不会发生冲突。这是非常常见的配置,特别是当你在本地开发环境中工作时。

        当你运行这两个服务时,后端服务将监听8000端口以响应来自Vue应用的API请求,而Vue应用将监听8080端口以响应来自浏览器的HTTP请求。这允许你通过浏览器访问Vue应用(8080)(通常是http://localhost:8080),而Vue应用可以发送AJAX请求到http://localhost:8000/api/some-endpoint以获取数据。

        因此,即使你在两个不同的地方设置了不同的端口号,这并不会影响项目的成功运行,因为这两个服务是相互独立的,并且它们各自监听不同的端口。只要你的Vue应用正确地配置了API请求的URL(即使用正确的端口号),并且后端服务正在运行并监听正确的端口,那么你的项目就应该能够成功运行。


说真的,在查询这个问题前,我以为它很难,结果是我太蠢,基础不好,吓死银!!!!

补充:
1. 监听请求

        "监听请求" 通常指的是某个服务或应用程序正在等待并接收来自客户端的请求(也可以是前端应用来监听后端服务器来响应来自浏览器的http请求)。在网络编程中,这通常涉及到服务器套接字(sockets)的创建和绑定,以及在这些套接字上监听传入的连接或数据包。

对于REST API来说,这通常涉及以下步骤:

  1. 选择端口:选择一个服务将监听的端口号。通常,HTTP服务使用80端口(对于HTTP)或443端口(对于HTTPS),但你也可以选择其他任何未被占用的端口。

  2. 创建服务器:使用编程语言或框架提供的工具来创建服务器实例。例如,在Node.js中,你可能会使用httphttps模块来创建一个HTTP或HTTPS服务器。

  3. 绑定地址和端口:将服务器绑定到特定的IP地址和端口上。这告诉操作系统你的服务将在哪个地址和端口上监听传入的连接。

  4. 监听请求:调用服务器实例的监听方法,并传入一个回调函数来处理传入的请求。这个回调函数将接收一个请求对象(包含有关请求的信息,如URL、请求头、请求体等)和一个响应对象(用于发送响应回客户端)。

  5. 处理请求:在回调函数中编写代码来处理传入的请求。这可能包括解析请求头、读取请求体、查询数据库、执行计算等。

  6. 发送响应:一旦请求被处理,就使用响应对象来发送一个响应回客户端。响应可以包含状态码、响应头和响应体。

        下面是一个使用Node.js和Express框架创建REST API的简单示例,该API监听3000端口上的请求:

const express = require('express');  
const app = express();  
const PORT = 3000;  // 定义一个路由处理函数  
app.get('/', (req, res) => {  res.send('Hello, World!');  
});  // 启动服务器并监听指定端口  
app.listen(PORT, () => {  console.log(`Server is running on port ${PORT}.`);  
});

        在这个示例中,Express框架用于简化HTTP服务器的创建和请求的处理。当服务器启动时,它会开始监听3000端口上的请求。当接收到根路径(/)的GET请求时,它会发送一个简单的文本响应回客户端。

2. REST API

REST API 的主要特点包括:

  1. 基于 HTTP: REST API 使用 HTTP 协议作为客户端和服务器之间的通信协议。HTTP 提供了丰富的方法和状态码,使得 REST API 能够清晰地表达资源的状态和操作。

  2. 无状态:REST API 是无状态的,即每个请求都需要包含所有必要的信息,以便服务器能够理解和处理该请求。服务器不会在多个请求之间保存任何状态信息。

  3. 客户端-服务器模型:REST API 遵循客户端-服务器模型,其中客户端发送请求,服务器处理请求并返回响应。这种模型允许客户端和服务器之间的解耦,使得它们可以独立地扩展和改进。

  4. 分层系统:REST API 支持分层系统,即客户端可以与中间层(如代理、网关等)进行通信,这些中间层可以隐藏系统的复杂性并增加额外的功能(如缓存、安全性等)。

  5. 统一接口:REST API 遵循统一接口原则,即使用一组预定义的动词(HTTP 方法,如 GET、POST、PUT、DELETE 等)对资源进行操作。这些动词具有明确的语义,使得 API 的使用更加直观和易于理解。

  6. 资源标识:REST API 使用 URI 来标识资源。URI 通常是层次化的,并遵循一定的命名约定,以便客户端能够轻松地识别和访问资源。

            REST API 的优势包括简单性、可伸缩性、可扩展性和灵活性。它们通常用于构建 Web 服务、移动应用后端、物联网(IoT)应用等场景。许多流行的 Web 服务和 API(如 GitHub API、Twitter API、Stripe API 等)都遵循 REST API 风格。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Copilot for Microsoft 365 扩充新增 16 种语言

最近,微软公司发布公告,进一步扩大 Copilot for Microsoft 365 语言支持,新增 16 种,支持的语言总数达到 25 种。 新支持的语言如下: 阿拉伯语 捷克语 丹麦语 荷兰语 芬兰语 希伯来语 匈牙利语 韩语 挪威语&am…

Sass详解:CSS预处理器的强大之处

Sass详解:CSS预处理器的强大之处 Sass,全称为Syntactically Awesome Style Sheets,是一种CSS预处理器,它扩展了CSS的功能,提供了变量、嵌套规则、混合(Mixins)、函数等强大的编程特性&#xff…

生活中的网络

加zkhengyang,可申请进数字音频系统研究开发交流答疑群(课题组) 最熟悉的是计算机网络,集线器,交换机,网桥,路由器,电脑主机,同轴电缆,双绞线,光纤等组成。 电视机网络…

网络安全科普:保护你的数字生活

# 网络安全科普:保护你的数字生活 ## 引言 在数字化时代,网络安全已成为每个人都必须面对的问题。从个人隐私保护到金融交易安全,网络的安全性直接关系到我们的日常生活。因此,普及网络安全知识,提高公众的网络安全意…

Elasticsearch 与 OpenSearch:6 个主要区别以及如何选择

什么是 Elasticsearch? Elasticsearch 是一个基于 Apache Lucene 构建的开源 RESTful 分布式搜索和分析引擎。它旨在处理大量数据,使其成为日志和事件数据管理的热门选择。Elasticsearch 还以其实时功能而闻名,允许用户在数据模式发生时对其…

云动态摘要 2024-05-12

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 [免费试用]即刻畅享自研SaaS产品 腾讯云 2024-04-25 涵盖办公协同、营销拓客、上云安全保障、数据分析处理等多场景 云服务器ECS试用产品续用 阿里云 2024-04-14 云服务器ECS试用产品续用…

【解决】Android Studio Toast点击不显示

问题描述 开发Android程序过程中,突然发现在Android studio的模拟机上,运行测试程序,Toast弹框不能使用了,但是解决方法非常粗暴和直接:重新加载一个新的虚拟机或清空当前虚拟机的数据,然后再重启。 明显&a…

mysql临时表

临时表 MySQL 什么时候会使用内部临时表? 1、如果语句执行过程可以一边读数据,一边直接得到结果,是不需要额外内存的,否则就需要额外的内存,来保存中间结果; 2、join_buffer 是无序数组,sort_b…

维修西门子PC677B工控机 IPC677D IPC677C IPC577C TP1500 TP1200

SIMATIC Panel PC 677B 主要亮点是: 得益于最新的英特尔技术,高系统性能可满足要求苛刻的可视化、计算和控制任务 英特尔 移动处理器:Core 2 ​​Duo(双核)或 Celeron M DDR2 667 内存高达 4 GB RAM PCI Express (PCI…

中国电子学会(CEIT)2022年12月真题C语言软件编程等级考试三级(含详细解析答案)

中国电子学会(CEIT)考评中心历届真题(含解析答案) C语言软件编程等级考试一级 2022年12月 编程题五道 总分:100分一、鸡兔同笼(20分) 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至…

重生奇迹mu战士攻略有哪些

1、生命之光:PK前起手式,增加血上限。 2、雷霆裂闪:眩晕住对手,战士PK战士第一技能,雷霆裂闪是否使用好关系到胜负。 3、霹雳回旋斩:雷霆裂闪后可以选择用霹雳回旋斩跑出一定范围(因为对手下一招没出意外…

Vue的diff算法

Vue.js 的 diff 算法是其性能优化的关键部分,它用于比较新旧虚拟 DOM 树并计算出最小的变更集,以便将这些变更应用到真实的 DOM 上。这种比较和计算的过程被称为“diff”或“差异化”。 以下是 Vue.js diff 算法的一些核心特性和概念: 基于…

指针的奥秘(四):回调函数+qsort使用+qsort模拟实现冒泡排序

指针 一.回调函数是什么?二.qsort函数使用1.qsort介绍2.qsort排序整型数据3.qsort排序结构体数据1.通过结构体中的整形成员排序2.通过结构体中的字符串成员排序 三.qsort模拟实现冒泡排序 一.回调函数是什么? 回调函数就是一个通过函数指针调用的函数。 …

You Only Cache Once:YOCO 基于Decoder-Decoder 的一个新的大语言模型架构

这是微软再5月刚刚发布的一篇论文提出了一种解码器-解码器架构YOCO,因为只缓存一次KV对,所以可以大量的节省内存。 以前的模型都是通过缓存先前计算的键/值向量,可以在当前生成步骤中重用它们。键值(KV)缓存避免了对每个词元再次编码的过程&…

C/C++常用的编译器分类

1.GCC家族 GNU GCC、GNU C、Mingw、Dev-C(Mingw)、Cygwin、DJGPP gcc 原名GNU C Collection,后因支持多种编程语言,改名为GNU Compiler Collection,是大多数类Unix(如Linux)的标准编译器,且适用于Windows(借助其他移植项目实现&…

Zookeeper笔记,MIT6.824

ZooKeeper旨在提供一个简单和高性能的内核,使得客户端可以构建更复杂的协调原语。 它将组消息传递、共享寄存器和分布式锁等服务整合到一个重新分配的、集中的服务中。 由ZooKeeper暴露出来的接口在共享寄存器方面具有无等待的特性,使用类似于分布式文件…

.NET应用程序中实现安全性的最佳实践

在.NET应用程序中实现安全性是一个复杂但至关重要的任务。 以下是一些关于身份验证、授权、加密和数据保护的最佳实践: 一、身份验证 使用强密码策略:确保用户创建复杂的密码,并定期更改。多因素身份验证:除了用户名和密码外&a…

[力扣题解]1005. K 次取反后最大化的数组和

题目:1005. K 次取反后最大化的数组和 思路 贪心法; 用绝对值大小排序,自己写一个比较函数, static bool compare(int a, int b) {return abs(a) > abs(b); }注意这样写出来是降序排列; 2次贪心: &a…

全学科知网普刊征稿中!即日提交,月内即可见刊!

在当前的学术环境下,论文发表的压力日益增大。当您需要评职称、申请学位、结项课题或完成其他有期限的学术要求时,快速发表普刊能够确保您及时满足这些需求,提升您的职业竞争力,为您的职业发展需求打下坚实基础。 我处普刊现积极…

我的全新官网

科技语者-探索未来的语言和沟通 (chgskj.cn) 另外我还开放了一个网站科技语者-介绍页 (null.fit)