web的运行

目录

[1. web基础知识](#1. web基础知识)

[1. http协议](#1. http协议)

[2. 网络的三种架构及特点](#2. 网络的三种架构及特点)

1.客户机/服务器结构(C/S)

[2. 浏览器/服务器结构(B/S)](#2. 浏览器/服务器结构(B/S))

[3. P2P结构](#3. P2P结构)

[3. 网站搭建](#3. 网站搭建)

[1. 服务器](#1. 服务器)

2.中间件

[4. 网站的运行原理](#4. 网站的运行原理)

[1. 网站的常用术语](#1. 网站的常用术语)

[1. 基本术语](#1. 基本术语)

[2. 网络协议](#2. 网络协议)

[3. 网站结构](#3. 网站结构)

[4. 技术和工具](#4. 技术和工具)

[5. 服务器和托管](#5. 服务器和托管)

[6. 数据库](#6. 数据库)

[7. 开发工具](#7. 开发工具)

8.用户交互

9.安全性

10.性能优化

[2. 运行原理](#2. 运行原理)

[3. 运行原理图](#3. 运行原理图)

[4. DNS的讲解](#4. DNS的讲解)


1. web基础知识

1. http协议

HTTP协议,即超文本传输协议(HyperText Transfer Protocol),是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网(World Wide Web)的基础协议,通过它,浏览器和服务器可以进行通信,实现网页的传输和展示。

2. 网络的三种架构及特点

  • 客户机/服务器结构(C/S)
  • 浏览器/服务器结构(B/S)
  • P2P结构

1.客户机/服务器结构(C/S)

客户机/服务器(Client/Server,简称C/S)结构是一种网络架构模型,用于描述计算机之间如何进行通信和协作。在这种结构中,计算任务被分为客户端和服务器两部分,每一方都具有特定的角色和功能。

2. 浏览器/服务器结构(B/S)

浏览器/服务器(Browser/Server,简称B/S)结构是一种网络架构模型,它利用Web浏览器作为客户端,服务器则提供应用程序服务和数据处理。B/S结构在互联网的广泛应用中发挥了重要作用,尤其在Web应用程序中。

3. P2P结构

P2P(Peer-to-Peer,点对点)结构是一种网络架构模型,其中每个节点(即每个对等方或peer)都具有相同的功能和地位。与传统的客户端/服务器(C/S)结构不同,在P2P结构中,每个节点既可以作为客户端,也可以作为服务器。

3. 网站搭建

  • 服务器
  • 中间件
  • 数据库(数据存放的仓库)
  • 代码(后端代码,写的是功能点,比如:python,java等)
  • 静态资源(前端代码,css,Html,js)

1. 服务器

服务器是一种计算机程序或设备,提供服务并响应来自客户端的请求。这些服务可以包括数据存储、计算资源、文件共享、数据库管理、应用程序运行等。

2.中间件

中间件是介于应用系统和系统软件之间的一类软件,就比如apache,nginx,tomcat,lis这些中间件,网站是一个装修好的房子,中间件就是装修房子的钢筋混泥土。是不可确实的一部分

4. 网站的运行原理

1. 网站的常用术语

1. 基本术语
  1. URL(Uniform Resource Locator)

    • 统一资源定位符,表示网络资源的地址。例如,https://www.example.com/index.html
  2. 域名(Domain Name)

    • 用于标识互联网资源的名称,易于记忆和使用。例如,example.com
  3. IP地址(IP Address)

    • 用于标识网络中设备的唯一地址,例如IPv4地址192.0.2.1或IPv6地址2001:0db8::1.
  4. DNS(Domain Name System)

    • 域名系统,将域名解析为IP地址。DNS服务器负责处理这些解析请求。
2. 网络协议
  1. HTTP(Hypertext Transfer Protocol)

    • 超文本传输协议,用于在客户端和服务器之间传输网页数据。默认端口为80。
  2. HTTPS(Hypertext Transfer Protocol Secure)

    • 加密的HTTP协议,通过SSL/TLS提供安全的数据传输。默认端口为443。
  3. TCP/IP(Transmission Control Protocol/Internet Protocol)

    • 传输控制协议/互联网协议,是网络通信的基础协议。
3. 网站结构
  1. 前端(Front-end)

    • 网站的用户界面部分,包括HTML、CSS和JavaScript。
  2. 后端(Back-end)

    • 服务器端的部分,包括服务器应用程序、数据库、业务逻辑等。
  3. 全栈(Full Stack)

    • 涵盖前端和后端的开发技术和知识。
4. 技术和工具
  1. HTML(HyperText Markup Language)

    • 超文本标记语言,用于定义网页的结构和内容。
  2. CSS(Cascading Style Sheets)

    • 层叠样式表,用于控制网页的外观和布局。
  3. JavaScript

    • 一种脚本语言,用于实现网页的动态功能和交互。
  4. API(Application Programming Interface)

    • 应用程序编程接口,允许不同软件系统之间进行通信和数据交换。
5. 服务器和托管
  1. Web服务器(Web Server)

    • 处理HTTP请求并提供网页内容的服务器软件或硬件。常见的Web服务器软件有Apache、Nginx、IIS等。
  2. 托管(Hosting)

    • 将网站文件和数据存储在服务器上,使其可以通过互联网访问。托管服务提供商提供服务器空间和相关服务。
  3. CDN(Content Delivery Network)

    • 内容分发网络,通过分布在各地的服务器缓存和分发内容,提高访问速度和可靠性。
6. 数据库
  1. 数据库(Database)

    • 用于存储和管理数据的系统。常见的数据库有MySQL、PostgreSQL、MongoDB等。
  2. SQL(Structured Query Language)

    • 结构化查询语言,用于管理和操作关系数据库中的数据。
  3. NoSQL

    • 非关系型数据库,适用于大规模和多样化的数据存储需求。常见的有MongoDB、Cassandra等。
7. 开发工具
  1. IDE(Integrated Development Environment)

    • 集成开发环境,提供代码编辑、调试和构建等功能的工具软件。例如,Visual Studio Code、IntelliJ IDEA。
  2. 版本控制系统(Version Control System,VCS)

    • 用于管理代码版本和变更历史的系统。常见的有Git、SVN等。
  3. CI/CD(Continuous Integration/Continuous Deployment)

    • 持续集成和持续部署,自动化构建、测试和发布代码的流程。
8.用户交互
  1. UI(User Interface)

    • 用户界面,用户与网站交互的界面设计和布局。
  2. UX(User Experience)

    • 用户体验,用户在使用网站过程中的整体感受和满意度。
  3. 响应式设计(Responsive Design)

    • 设计适应不同屏幕尺寸和设备的网页,使其在各种设备上都有良好的显示效果。
9.安全性
  1. SSL/TLS(Secure Sockets Layer/Transport Layer Security)

    • 安全套接字层/传输层安全协议,用于加密数据传输,确保数据的安全性。
  2. 防火墙(Firewall)

    • 保护网络免受未经授权访问和攻击的安全系统。
  3. 身份验证(Authentication)

    • 验证用户身份的过程,常见的方法包括密码、双因素认证等。
10.性能优化
  1. 缓存(Cache)

    • 存储频繁访问的数据以加快响应速度的机制。可以在客户端、服务器和CDN中实现缓存。
  2. 负载均衡(Load Balancing)

    • 将请求分配到多个服务器,以提高网站的可用性和性能。
  3. 压缩(Compression)

    • 减小文件大小以加快传输速度的技术。常见的压缩方法有Gzip、Brotli等。

2. 运行原理

1.输入网站,如www.baidu.com(http://www.baidu.com),http是协议,www是网络服务类型,baidu.com是域名。

2.浏览器和ISP通信,在DNS中查找www.baidu.com的IP地址,然后发送给DNS服务,最后向IP地址发送请求;

3.浏览器获取IP地址和端口,打开TCP套接字连接,实现浏览器和服务器的连接;

4.发送用户HTTP请求给服务器;

5.web服务器根据请求查询相应的HTML页面,并返回。

3. 运行原理图

4. DNS的讲解

域名系统(DNS, Domain Name System)是互联网的基础技术之一,用于将人类易于记忆的域名(如www.example.com)转换为计算机使用的IP地址(如192.0.2.1)。这是因为计算机网络使用IP地址进行通信,而人类更倾向于使用容易记住的名称。

相关推荐
也无晴也无风雨1 小时前
深入剖析输入URL按下回车,浏览器做了什么
前端·后端·计算机网络
Martin -Tang1 小时前
Vue 3 中,ref 和 reactive的区别
前端·javascript·vue.js
FakeOccupational3 小时前
nodejs 020: React语法规则 props和state
前端·javascript·react.js
放逐者-保持本心,方可放逐3 小时前
react 组件应用
开发语言·前端·javascript·react.js·前端框架
曹天骄4 小时前
next中服务端组件共享接口数据
前端·javascript·react.js
阮少年、4 小时前
java后台生成模拟聊天截图并返回给前端
java·开发语言·前端
郝晨妤6 小时前
鸿蒙ArkTS和TS有什么区别?
前端·javascript·typescript·鸿蒙
AvatarGiser6 小时前
《ElementPlus 与 ElementUI 差异集合》Icon 图标 More 差异说明
前端·vue.js·elementui
喝旺仔la6 小时前
vue的样式知识点
前端·javascript·vue.js
别忘了微笑_cuicui6 小时前
elementUI中2个日期组件实现开始时间、结束时间(禁用日期面板、控制开始时间不能超过结束时间的时分秒)实现方案
前端·javascript·elementui