什么是网站?

这篇文章是我学习网站开发,阶段性总结出来的。可以帮助你 通俗易懂 地更加深刻理解网站的这个玩意。

一,网站和网页的区别?

网站是由一个个网页组成。我们在浏览器上面看到的每一个页面就是网页,这些 相关的 网页组成一个网站。像知乎上很多个页面能组成知乎这个庞大的网站。

网站可以只包含一个网页。

二,网站是由前端,后端,数据库组成。

前端?不懂?后端?不懂?没关系。我慢慢解释。

1,前端

我们打开浏览器看到的,都是网站的前端。它们是直接给用户呈现出来的,换言之,前端就是专门给用户看到的部分。

我们知道,一个个网页是由代码编写的。前端,就是用 html,css,javascript三种语言组成。用这三种语言,就可以编写出各种花里胡哨的网页。

简单介绍一些这三种语言,如果把网站比作一个房子

①html,就是房子的砖和瓦。网站是由文字,图片堆砌而成,那么html就是往网站上添加文字图片等等。

②css,就是房子的美观度。我们要改变文字的大小,文字的颜色,图片的大小。都要用css来完成。

③javascript,就是人与房子的交互。比如点击一个按钮,点击后会出现什么效果,要用Javascript来完成。比如,点击按钮后跳转到另一个网页。

浏览器的作用,就是解释和执行html语言的工具,把这些代码,全部转换成用户易于看懂的界面形式。

网站可以只有前端组成。

2,后端

当用户与服务器交互的时候,用户向服务器发送一个请求(request),服务器处理请求后,向用户做出应答(response)。而接收并处理请求再向用户做出应答的过程,就是属于网站后端的事情。比如说,我问服务器,“现在的时间是多少?”,提交请求后,服务器获取当前的时间,然后向用户返回当前的时间信息 “2021年1月31日”。

服务器返回的信息后,前端会接收,并在页面上用html以一定的方式呈现,用户继而接收。

可以这么理解,用户所在的就是网站的前端,服务器所在的就是网站的后端。

后端和前端一样,也有三个非常重要部分元件。1,Servlet (服务) 2,filter(过滤器)3,session(会话)

1,Servlet就是用来处理用户的请求的。用户提交的不同请求,会由不同的Servlet进行处理。

2,filter就是理解对用户的请求进行预处理,根据请求的信息,可以晒掉某些的用户请求,或者把请求分配给相应的Servlet进行处理。

3,session。用户打开浏览器并且连接到服务器后,服务器就会创建一个会话,用来记录用户某些信息。当用户关掉浏览器后,服务器就会删掉会话。例如,避免用户的重复登录,就是通过session来实现。

现在问题来了?前端通过怎样的手段把信息传递给后端,和后端进行交互的呢?

有三种办法。1,前端可以通过提交表单,用于后端接收。2,Ajax。3,Restful。这里就不深入介绍了。

3,数据库

先上一张图

当一个网站越做越大,服务器里面的内存是无法存储大量的数据。这时候就要应用的数据库。简而言之,数据库用来存储大量的数据。

上面这张图,后端是与数据库进行交互的,并进行数据的存储和提取。当用户需要某条数据的时候,后端就从数据库里面提取,返回给用户。相当于,一个人去买东西,商店老板从仓库里拿它想要的,然后再递给用户。

那么问题又来了?后端是怎么和数据库连接的呢?

后端与数据库进行连接的技术,主要的是JDBC技术,这也就是服务器往数据库里面存储数据和提取数据的方法。这里也不深入讲解了,具体会另出博客,只需明白,后端也服务服务器是通过什么方法交互的。

三,ip地址,域名

每个网站都只一个ip地址,比如 114.55.254.213 就是我个人网站的地址。我们直接在浏览器里面输入这串ip,是能够查找到我的个人网站的。

百度也有它的ip,知乎也有它的ip,我们学校的网站也有它的ip。

那为什么我们搜索某个网站,不输入ip呢?

可以是可以,但因为网站对应的ip地址难以记忆,我们会给ip地址另起名字,也就是域名

baidu.com 就是百度ip的名字。也就是百度网站的名字。

zhihu.com 就是知乎ip的名字。也就是知乎网站的名字。

当我们输入域名的时候,会被解析为ip地址,然后再映射到相应的网站。比如搜索 www.liangyuanshao.cn就是跳转到我的个人网站。和114.55.254.213 的效果是一样的。

https代表的是协议。

www是万维网。

zhihu.com就是知乎网站的域名

至于后面这一块/people/system-out-99。因为一个网站可以分为很多板块,像注册登录的板块,主页板块。/people就是知乎网站下面的用户板块。而/system-out-99就是用户板块下面我的个人主页。输入上面这一块到浏览器,就会跳转到我的知乎个人主页。

现在我将步入框架的学习。这是我之前学网站开发大概的整体认知,向新人和刚入坑的网站开发的小白介绍,方便以后理解学习

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

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

相关文章

数据库系统概论期末经典大题讲解(用关系代数进行查询)

今天也是结束的最为密集的考试周,在分析过程中自己也有些许解题的感悟,在此分享出来,希望能帮到大家期末取得好成绩。 一.专门的关系运算 1.选择(σ) 选择操作符用于从关系中选择满足特定条件的元组 例如,…

异常处理 springboot

全局异常处理 RestcontrollerAdvice Exceptonhandler package com.it.Exception;import com.it.pojo.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice;/*全局异常处理器…

如何制定公司网络安全战略

网络安全可以保护公司的重要信息免受恶意软件和数据泄露等威胁。网络安全策略列出了您公司的 IT 系统当前面临的风险、您计划如何预防这些风险,以及如果发生这些风险该怎么办。 让本文成为您制定有效网络安全策略的一站式指南。我们将讨论网络安全风险评估以及策略…

【QML】QML与cpp交互(一)—— QML直接调用cpp函数

目录 1、cpp 创建一个类 2、将类对象暴露给QML 3、QML通过对象直接调用cpp函数 1、cpp 创建一个类 类模板如下: #include <QtCore/QObject>class vacUdpClient: public QObject {Q_OBJECT public: vacUdpClient(QObject* parent nullptr): QObject(parent) {}// Q…

JVM类加载全过程

Java虚拟机类加载的全过程&#xff0c;即加载&#xff0c;验证&#xff0c;准备&#xff0c;解析&#xff0c;初始化 一、加载 加载 是 类加载过程中的一个阶段&#xff0c; 有以下三部分组成 1&#xff09;通过一个类的全限定名来获取定义此类的二进制流 2&#xff09;将这…

通达OA inc/package/down.php接口存在未授权访问漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一. 产品简介 通达OA&#xff08;Office Anywhere网络智能办公系统&am…

Batch Normalization

1.是什么&#xff1f; 批量归一化&#xff08;Batch Normalization&#xff09;&#xff0c;由Google于2015年提出&#xff0c;是近年来深度学习&#xff08;DL&#xff09;领域最重要的进步之一。该方法依靠两次连续的线性变换&#xff0c;希望转化后的数值满足一定的特性&am…

10、外观模式(Facade Pattern,不常用)

外观模式&#xff08;Facade Pattern&#xff09;也叫作门面模式&#xff0c;通过一个门面&#xff08;Facade&#xff09;向客户端提供一个访问系统的统一接口&#xff0c;客户端无须关心和知晓系统内部各子模块&#xff08;系统&#xff09;之间的复杂关系&#xff0c;其主要…

利用DateFormat、Date、Calendar等相关类,编程实现如下功能

&#xff08;1&#xff09;用户输入2个日期&#xff0c;第一个日期用整数形式输入&#xff0c;把输入的整数设置为日历对象1的年月日的值。第二个日期以字符串形式输入&#xff0c;形如“2022-10-25”&#xff0c;并设置为日历对象2的年月日的值。将2个日期以“xx年xx月xx日”的…

04、pytest运行多个测试用例

官方用例 目录结构 course_04 | |----subdir | | | |----sample03_test.py | | | |----test_sample04.py | |----sample02_test.py | |----test_sample01.py# content of test_sample01.pydef test_simple01():print("test simple01")assert 0# content of tes…

从零开始学习 JS APL(二):完整指南和实例解析

大家好&#xff01;这里是关于JS APL第二部分的知识点和笔记以及练习题 目录 大家好&#xff01;这里是关于JS APL第二部分的知识点和笔记以及练习题 我们分以下几点来说&#xff1a; 1、事件监听&#xff08;绑定&#xff09;&#xff1a; 目标&#xff1a;能够给 DOM元素…

@PostConstruct使用详解

一、简介 在Spring应用程序中启动时&#xff0c;有时需要在所有Bean都已加载&#xff0c;初始化并准备好之后执行某些自定义代码。这时&#xff0c;Spring提供了一个可用的方式&#xff0c;即使用PostConstruct注解。这个注解用于标记一个方法&#xff0c;这个方法将在Bean初始…

操作系统——进程同步

目录 一、信号量相关函数 1. 创建信号量集 2. 获取信号量集 3. 等待、通知信号量集 4. 控制信号量集 二、简单进程同步 1. 创建信号量集 2. P操作 3. V操作 4. 删除信号量集 5. 测试&#xff1a; 三、生产者与消费者 1. 创建、删除共享内存及信号量集 2. 单一生产…

基于Eclipse+Mysql+Tomcat开发的 教学评价管理系统

基于EclipseMysqlTomcat开发的 教学评价管理系统 项目介绍&#x1f481;&#x1f3fb; 随着教育信息化的发展&#xff0c;教学评价管理系统已经成为了学校、教育机构等场所必不可少的一部分。本项目是基于EclipseMysqlTomcat开发的一套教学评价管理系统&#xff0c;旨在帮助教育…

Android中的动态代理详解

在说动态代理之前&#xff0c;先来简单看下代理模式。代理是最基本的设计模式之一。它能够插入一个用来替代“实际”对象的“代理”对象&#xff0c;来提供额外的或不同的操作。这些操作通常涉及与“实际”对象的通信&#xff0c;因此“代理”对象通常充当着中间人的角色。 代…

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C

2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C 目录 2024 年甘肃省职业院校技能大赛中职组 电子与信息类“网络安全”赛项竞赛样题-C 需要环境或者解析可以私信 &#xff08;二&#xff09;A 模块基础设施设置/安全加固&#xff08;200 分&…

MacOS M芯片 安装MySQL5.7教程

目录 1. 安装Homebrew1.1 快速安装1.2 检查是否安装成功 2. 通过Homebrew安装MySQL2.1 搜索 MySQL 版本2.2 安装MySQL 5.72.3 位置说明2.4 启动MySQL服务2.5 检查服务状态2.6 设置环境变量2.7 重置密码 3. 测试安装 1. 安装Homebrew 1.1 快速安装 /bin/bash -c "$(curl …

【接口测试】POST请求提交数据的三种方式及Postman实现

1. 什么是POST请求&#xff1f; POST请求是HTPP协议中一种常用的请求方法&#xff0c;它的使用场景是向客户端向服务器提交数据&#xff0c;比如登录、注册、添加等场景。另一种常用的请求方法是GET&#xff0c;它的使用场景是向服务器获取数据。 2. POST请求提交数据的常见编…

uniapp微信小程序解决绘制polygon结束时的问题

目录 一、前言 二、实现思路 三、结束标绘具体代码 1、在地图展示工具栏处判断工具按钮是否展示v-if"item.isshow" 2、data声明的工具按钮中新增结束标绘按钮 3、在按钮的点击事件中新增结束标绘的判断 4、判断绘制的线段个数是否大于等于三条&#xff0c;当满…