web的运行

目录

1. web基础知识

1. http协议

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

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

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

3. P2P结构  

 3. 网站搭建

1. 服务器

2.中间件

 4. 网站的运行原理

1. 网站的常用术语

1. 基本术语

2. 网络协议

3. 网站结构

4. 技术和工具

5. 服务器和托管

6. 数据库

7. 开发工具

8.用户交互

9.安全性

10.性能优化

 2. 运行原理

3. 运行原理图

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地址进行通信,而人类更倾向于使用容易记住的名称。

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

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

相关文章

《JavaSE》---16.<抽象类接口Object类>

目录 前言 一、抽象类 1.1什么是抽象类 1.2抽象类代码实现 1.3 抽象类特点 1.4抽象类的作用 二、接口 2.1什么是接口 2.2接口的代码书写 2.3 接口使用 2.4 接口特点 2.5 实现多个接口 快捷键(ctrl i ): 2.6接口的好处 2.7 接…

windows常用命令整理

本文分享一些常用的windows命令。根据功能的不同,大致可分为以下几个方面,一是文件操作命令,二是进程相关命令,三是磁盘相关命令,四是网络相关命令,五是其他命令。 1.文件操作命令 dir:显示当…

如何搭建一个RADIUS服务器?

1. 系统环境 1.1.操作系统 Ubuntu-20.04.1 (kernel: 5.15.0-58-generic) 1.2.所需软件 FreeRADIUS MariaDB 1.3.注意事项 本文提到的所有操作,都是以root 身份执行; 2. FreeRADIUS的安装 2.1. 安装FreeRADIUS服务器程序 以…

数据预处理在建模中的重要性与常见方法(三):特征工程篇

数据预处理在建模中的重要性与常见方法(三):特征工程篇 特征工程是数据预处理中至关重要的一步,通过构建、转换和选择最能代表数据特性的特征,以提高模型的性能和准确性。常见的特征工程方法包括特征选择、特征提取和特…

零基础入门鸿蒙开发 HarmonyOS NEXT星河版开发学习

今天开始带大家零基础入门鸿蒙开发,也就是你没有任何编程基础的情况下就可以跟着石头哥零基础学习鸿蒙开发。 目录 一,为什么要学习鸿蒙 1-1,鸿蒙介绍 1-2,为什么要学习鸿蒙 1-3,鸿蒙各个版本介绍 1-4&#xff0…

P4-AI产品经理-九五小庞

从0开始做AI产品的完整工作方法 项目启动 项目实施 样本测试模型推荐引擎 构建DMP(数据管理平台) 项目上线

Leetcode双指针法应用

1.双指针法 文章目录 1.双指针法1.1什么是双指针法?1.2解题思路1.3扩展 1.1什么是双指针法? 双指针算法是一种在数组或序列上操作的技巧,实际上是对暴力枚举算法的一种优化,通常涉及到两个索引(或指针)从两…

springboot实现接口请求日志自动生成(日志自动埋点)

文章目录 1.作用:2.原理:3.代码:一.config层二. mq层 :三.service层: 4.效果图5.声明 1.作用: springboot接口请求日志自动生成,实现接口日志自动埋点生成 1.统一日志生成格式;—方便查看 2.汇…

19-4 LLM之野望 4 - 探索大模型的量化

什么是模型量化? 从本质上讲,模型量化就是为了提高效率。想象一下,你有一本非常厚的教科书(就像那些老式百科全书一样),需要整天随身携带。很累吧?现在,如果你能把它缩小到一本漫画…

Postgresql导入几何数据的几种方式

postgis方式导入 1.直接使用postgis客户端方式导入 首先,电脑要安装postgresql和对应版本的postgis。然后通过postgis客户端软件连接到postgresql数据库。然后导入。具体详细操作如下所示: 第一步:首先要再postgis中创建数据库 Create da…

怎样在 PostgreSQL 中进行用户权限的精细管理?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 怎样在 PostgreSQL 中进行用户权限的精细管理?一、权限管理的重要性二、PostgreSQL 中的权…

Linux云计算 |【第一阶段】ENGINEER-DAY2

主要内容: 磁盘空间管理fdisk、parted工具、开机自动挂载、文件系统、交换空间 KVM虚拟化 实操前骤: 1)添加一块硬盘(磁盘),需要关机才能进行操作,点击左下角【添加硬件】 2)选择2…

Lamp 小白菜鸟从入门到精通

前言 “LAMP包”的脚本组件中包括了CGIweb接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流&#xff0…

2.0.PyTorch神经网络基础

层和块 块(block)可以描述单个层、由多个层组成的组件或整个模型本身。 使用块进行抽象的一个好处是可以将一些块组合成更大的组件, 这一过程通常是递归的。多个层被组合成块,形成更大的模型: #层 import torch from …

LeetCode做题记录(第二天)169. 多数元素

题目:169. 多数元素 标签:数组 哈希表 分治 计数 排序 题目信息: 思路一: 在题目中出现了计数,那我们就可以直接考虑考虑使用哈希表 unordered_map 即遍历的时候记录每个数的出现次数,当出现次数大于n/…

苍穹外卖跟练项目前端localhost打不开页面启动nginx报错[alert] could not open error log file问题解决

一、安装路径为纯英文 查看自己的安装路径是否为纯英文环境,刚开始下载的资料包是有中文路径的,要将资料包中的nginx-1.20.2文件夹复制一份然后粘贴到一个新建的纯英文的目录,我这里装到的是 D:\Program Files\nginx-1.20.2 二、删掉logs文件…

【AI学习】关于Scaling Law的相关学习

一、苦涩的教训 首先,学习一段重要话语: The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. 从70年的人工智能研究中…

C语言 ——— 浮点数类型 在 内存中 的 存储模式

目录 浮点数存储规则 单\双精度浮点数 存储 S、M、E 的布局 有效数字M 和 指数位E 的特殊规定 浮点数在内存中是否存储的S、M、E 浮点数存储规则 根据国际标准IEEE754(电气和电子工程协会)规定:任意一个 浮点数F的二进制 都可以表示成…

<数据集>铁轨缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:844张 标注数量(xml文件个数):844 标注数量(txt文件个数):844 标注类别数:3 标注类别名称:[Spalling, Squat, Wheel Burn] 序号类别名称图片数框数1Spalling3315522…

【ProtoBuf】通讯录实现(网络版)

Protobuf 还常用于通讯协议、服务端数据交换场景。那么在这个示例中,我们将实现一个网络版本的通讯录,模拟实现客户端与服务端的交互,通过 Protobuf 来实现各端之间的协议序列化。 需求如下: 客户端可以选择对通讯录进行以下操…