目录
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. 基本术语
-
URL(Uniform Resource Locator):
- 统一资源定位符,表示网络资源的地址。例如,
https://www.example.com/index.html
。
- 统一资源定位符,表示网络资源的地址。例如,
-
域名(Domain Name):
- 用于标识互联网资源的名称,易于记忆和使用。例如,
example.com
。
- 用于标识互联网资源的名称,易于记忆和使用。例如,
-
IP地址(IP Address):
- 用于标识网络中设备的唯一地址,例如IPv4地址
192.0.2.1
或IPv6地址2001:0db8::1
.
- 用于标识网络中设备的唯一地址,例如IPv4地址
-
DNS(Domain Name System):
- 域名系统,将域名解析为IP地址。DNS服务器负责处理这些解析请求。
2. 网络协议
-
HTTP(Hypertext Transfer Protocol):
- 超文本传输协议,用于在客户端和服务器之间传输网页数据。默认端口为80。
-
HTTPS(Hypertext Transfer Protocol Secure):
- 加密的HTTP协议,通过SSL/TLS提供安全的数据传输。默认端口为443。
-
TCP/IP(Transmission Control Protocol/Internet Protocol):
- 传输控制协议/互联网协议,是网络通信的基础协议。
3. 网站结构
-
前端(Front-end):
- 网站的用户界面部分,包括HTML、CSS和JavaScript。
-
后端(Back-end):
- 服务器端的部分,包括服务器应用程序、数据库、业务逻辑等。
-
全栈(Full Stack):
- 涵盖前端和后端的开发技术和知识。
4. 技术和工具
-
HTML(HyperText Markup Language):
- 超文本标记语言,用于定义网页的结构和内容。
-
CSS(Cascading Style Sheets):
- 层叠样式表,用于控制网页的外观和布局。
-
JavaScript:
- 一种脚本语言,用于实现网页的动态功能和交互。
-
API(Application Programming Interface):
- 应用程序编程接口,允许不同软件系统之间进行通信和数据交换。
5. 服务器和托管
-
Web服务器(Web Server):
- 处理HTTP请求并提供网页内容的服务器软件或硬件。常见的Web服务器软件有Apache、Nginx、IIS等。
-
托管(Hosting):
- 将网站文件和数据存储在服务器上,使其可以通过互联网访问。托管服务提供商提供服务器空间和相关服务。
-
CDN(Content Delivery Network):
- 内容分发网络,通过分布在各地的服务器缓存和分发内容,提高访问速度和可靠性。
6. 数据库
-
数据库(Database):
- 用于存储和管理数据的系统。常见的数据库有MySQL、PostgreSQL、MongoDB等。
-
SQL(Structured Query Language):
- 结构化查询语言,用于管理和操作关系数据库中的数据。
-
NoSQL:
- 非关系型数据库,适用于大规模和多样化的数据存储需求。常见的有MongoDB、Cassandra等。
7. 开发工具
-
IDE(Integrated Development Environment):
- 集成开发环境,提供代码编辑、调试和构建等功能的工具软件。例如,Visual Studio Code、IntelliJ IDEA。
-
版本控制系统(Version Control System,VCS):
- 用于管理代码版本和变更历史的系统。常见的有Git、SVN等。
-
CI/CD(Continuous Integration/Continuous Deployment):
- 持续集成和持续部署,自动化构建、测试和发布代码的流程。
8.用户交互
-
UI(User Interface):
- 用户界面,用户与网站交互的界面设计和布局。
-
UX(User Experience):
- 用户体验,用户在使用网站过程中的整体感受和满意度。
-
响应式设计(Responsive Design):
- 设计适应不同屏幕尺寸和设备的网页,使其在各种设备上都有良好的显示效果。
9.安全性
-
SSL/TLS(Secure Sockets Layer/Transport Layer Security):
- 安全套接字层/传输层安全协议,用于加密数据传输,确保数据的安全性。
-
防火墙(Firewall):
- 保护网络免受未经授权访问和攻击的安全系统。
-
身份验证(Authentication):
- 验证用户身份的过程,常见的方法包括密码、双因素认证等。
10.性能优化
-
缓存(Cache):
- 存储频繁访问的数据以加快响应速度的机制。可以在客户端、服务器和CDN中实现缓存。
-
负载均衡(Load Balancing):
- 将请求分配到多个服务器,以提高网站的可用性和性能。
-
压缩(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地址进行通信,而人类更倾向于使用容易记住的名称。