关于学习笔记:前后端交互
<article class=“article fmt article-content”><h2>前后端交互</h2><h3>前端是什么?</h3><p>前端是指与用户间接交互的局部,通常是指 Web 开发中的前端局部,也称为客户端或用户界面。前端开发波及创立网站或应用程序的用户界面,包含网页的外观、布局、交互和性能。</p><p>简略来说就是:用户的可见界面,数据展现在页面上出现给用户。</p><h3>后端是什么?</h3><p>后端是指网站、应用程序或服务的背地局部,负责解决数据、逻辑和与数据库交互等工作。它包含服务器端技术、数据库和应用程序,确保零碎的稳定性、安全性和性能。</p><h3>前后端交互的组织架构</h3><p>前后端交互的组织架构通常是基于<strong>客户端-服务器模型</strong>,其中前端作为客户端,后端作为服务器端。这种模型通过 HTTP 协定或其余通信协议实现通信。</p><p>在典型的 Web 应用程序中,前端和后端通过 HTTP 申请和响应进行通信。前端发送申请给后端,后端解决申请并返回相应的数据或后果,而后前端依据返回的数据更新用户界面。这种交互模式使得前端和后端可能拆散开发、测试和保护,进步了零碎的灵活性和可维护性。</p><h3>前后端交互的流程</h3><p>前后端交互的流程通常波及以下步骤:</p><ol><li><p><strong>前端发送申请</strong>:</p><ul><li>用户在浏览器中输出网址或者与页面交互,触发前端发送申请的动作。</li><li>前端能够应用HTTP申请向后端发送申请,申请的内容能够包含获取数据、提交表单、执行操作等。</li></ul></li><li><p><strong>后端接管申请</strong>:</p><ul><li>后端服务器接管到前端发送的申请。</li><li>后端服务器依据申请的内容,确定须要执行的操作或提供的服务。</li></ul></li><li><p><strong>后端解决申请</strong>:</p><ul><li>后端依据申请的类型和内容,执行相应的业务逻辑解决。</li><li>这可能包含拜访数据库、调用其余服务、计算数据等。</li></ul></li><li><p><strong>后端生成响应</strong>:</p><ul><li>后端解决完申请后,生成相应的数据或后果。</li><li>这些数据能够是动静生成的HTML、JSON、XML等格局的数据,用于更新前端页面或提供给前端应用程序。</li></ul></li><li><p><strong>后端发送响应</strong>:</p><ul><li>后端将生成的响应数据发送回前端。</li><li>通常,后端会应用HTTP响应来发送数据,包含响应状态码、头部信息以及响应体。</li></ul></li><li><p><strong>前端接管响应</strong>:</p><ul><li>前端浏览器或应用程序接管到后端发送的响应。</li><li>前端解析响应数据,依据须要更新页面内容、执行相应的操作等。</li></ul></li><li><p><strong>前端解决响应</strong>:</p><ul><li>前端依据接管到的响应数据进行解决,可能包含更新页面内容、显示提示信息、执行跳转等操作。</li></ul></li><li><p><strong>用户交互或页面更新</strong>:</p><ul><li>用户在前端页面上进行交互,或者依据前端的更新内容进行操作。</li><li>页面依据用户的操作或后端响应的更新进行相应的更新和交互。</li></ul></li></ol><p>这些步骤形成了前后端交互的根本流程。在理论利用中,依据具体的业务需要和技术架构,可能会有更多的细节和复杂性。</p><h3>传输协定</h3><p>在前后端交互的过程中,罕用的传输协定次要是 HTTP(Hypertext Transfer Protocol)和其平安版本HTTPS(HTTP Secure)。这两种协定是<strong>应用层协定</strong>,<strong>用于在客户端和服务器之间传输数据</strong>。</p><ul><li><strong>HTTP</strong>:客户端发送申请给服务器,服务器解决申请并返回相应的数据或后果。HTTP是基于文本的协定,通常应用TCP作为传输层协定,应用端口号80。</li><li><strong>HTTPS</strong>:HTTPS 是 HTTP 的平安版本,它通过应用 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)协定来加密数据,从而爱护数据的安全性和完整性。HTTPS 应用的端口号为443。</li></ul><p>在前后端交互中,通常应用 HTTP 申请来获取数据、提交表单、执行操作等。HTTPS 则用于在不平安的网络中加密数据传输,以避免数据被窃取或篡改。HTTPS 的应用能够通过在服务器上安装 SSL/TLS 证书来实现,这样就能够建设平安的加密通道,确保数据在传输过程中的安全性。</p><p><strong>拓展:</strong></p><p><strong>SSL</strong>(Secure Sockets Layer)和 <strong>TLS</strong>(Transport Layer Security)都是<strong>加密通信协议</strong>,用于爱护网络通信的安全性。TLS 实际上是 SSL 的继任者。</p><ul><li><p><strong>SSL(安全套接字层)</strong>:</p><ul><li>SSL 最后由网景公司开发,用于爱护 Web 通信的平安。</li><li>SSL 协定应用加密算法和身份验证来确保数据在客户端和服务器之间的传输平安。</li><li>SSL 协定有多个版本,然而因为安全漏洞和弱点,当初曾经被 TLS 协定所取代。</li></ul></li><li><p><strong>TLS(传输层平安)</strong>:</p><ul><li>TLS 是 SSL 的降级版本,旨在提供更强的安全性和性能。</li><li>TLS 协定继承了 SSL 的根本个性,但修复了 SSL 中存在的一些安全漏洞,并增加了新的性能和加密算法。</li><li>TLS 协定的最新版本是 TLS 1.3,它提供了更快的握手过程、更平安的加密算法和更好的性能。</li></ul></li></ul><p>TLS 协定和 SSL 协定都应用在应用层和传输层之间,它们次要用于爱护 Web 通信、电子邮件传输、VPN 连贯等。当客户端和服务器建设连贯时,它们应用 SSL/TLS 协定进行握手,并协商密钥替换算法、加密算法和其余平安参数。一旦握手胜利,客户端和服务器之间的通信就会通过加密通道进行,确保数据的安全性和完整性。SSL 和 TLS 协定的应用对于互联网通信的平安至关重要,尤其是在敏感信息的传输过程中。</p><h3>域名</h3><p>域名是互联网上用来辨认特定网络资源的名称。它是由一串字符组成的人类可读的标识符,用于代表互联网上的服务器或者网站。域名通常用于辨认特定的网络资源,比方网站、FTP服务器(提供文件存储和拜访服务的计算机)、电子邮件服务器等。</p><p>域名通常由两局部组成:</p><ol><li><strong>域名标签(Domain Label)</strong>:域名的每个局部被称为域名标签或子域名。在典型的域名中,这些标签之间用点号(.)分隔。例如,在域名 “example.com” 中,“example” 是一个子域名,“com” 是顶级域名(TLD)。</li><li><strong>顶级域名(Top-Level Domain, TLD)</strong>:顶级域名是域名体系结构中的最高级别域名。它位于域名的最初局部,用于示意域名的类别或国家/地区。常见的顶级域名包含 “.com”、".org"、".net"、".edu"、".gov" 等以及各国家/地区的顶级域名,如 “.cn”、".uk"、".jp" 等。</li></ol><p>域名的作用在于简化了互联网资源的拜访,因为人们更容易记住具备意义的域名而不是一长串数字组成的IP地址。域名零碎(DNS)将域名翻译成相应的IP地址,这样计算机能力找到正确的网络资源。</p><p>总之,域名在互联网上扮演着重要的角色,是连贯用户和网络资源之间的要害。通过域名,用户能够轻松地拜访网站、发送电子邮件和拜访其余网络服务。</p><h3>端⼝号</h3><p>端口号是一种逻辑标识,用于辨别计算机中不同应用程序或服务之间的通信端口。在计算机网络中,每个应用程序或服务都须要通过端口号来与其余应用程序或服务通信。</p><p>端口号的范畴是从0到65535,其中0到1023是为零碎保留的,用于一些常见的服务或协定,比方HTTP通常应用端口号80,HTTPS通常应用端口号443。其余的端口号则用于自定义的应用程序或服务。</p><p>一些常见的端口号和对应的服务包含:</p><ul><li>80:HTTP服务</li><li>443:HTTPS服务</li><li>21:FTP服务</li><li>22:SSH服务</li><li>25:SMTP服务(用于发送邮件)</li><li>110:POP3服务(用于接管邮件)</li><li>3306:MySQL数据库服务</li><li>5432:PostgreSQL数据库服务</li></ul><p>通过端口号,计算机能够将网络数据包调配给正确的应用程序或服务,从而实现不同应用程序之间的通信和合作。</p></article> ...