Web讲解,Web服务器环境搭建[phpstudy],VSCode代码编辑器

Web介绍

WEB,即World Wide Web,是互联网上的一种信息空间,用户可以通过浏览器访问存储在不同计算机上的文档和多媒体资源。 WEB的核心是超文本传输协议(HTTP),它定义了客户端(用户的浏览器)和服务器之间的通信规则。用户通过点击超链接(Hyperlinks)在不同的网页之间进行导航,这些超链接将文本、图片、视频等资源整合在一起,形成了一个互联互通的网络世界。

Web组成部分讲解

  1. 客户端(Client):客户端是用户与WEB交互的界面,通常是通过浏览器软件来实现。浏览器可以解释和显示网页内容,如Chrome、Firefox、Safari等。

  2. 服务器(Server):服务器是存储网页内容的计算机系统,它处理来自客户端的请求,并将结果返回给客户端。服务器可以是物理服务器,也可以是云服务器。

  3. 协议(Protocol):HTTP是WEB的基础协议,用于规定客户端和服务器之间的通信格式。HTTPS是HTTP的安全版本,通过加密保护数据传输的安全。

  4. URL(Uniform Resource Locator):URL是定位资源的地址,它指定了资源在WEB上的位置。一个URL通常包括协议类型(如http或https)、服务器地址、资源路径等信息。

  5. HTML(HyperText Markup Language):HTML是构建网页的基础语言,它定义了网页的结构和内容。HTML5是当前最新的版本,支持多媒体内容的嵌入和交互式应用。

  6. CSS(Cascading Style Sheets):CSS用于描述网页的外观和布局。通过CSS,可以控制字体、颜色、间距、响应式设计等视觉元素。

  7. JavaScript:JavaScript是一种脚本语言,用于增强网页的交互性。通过JavaScript,可以实现动态内容的更新、表单验证、动画效果等功能。

Web服务器主要组成部分及其作用

  1. WEB服务器软件(Web Server Software) WEB服务器软件是服务器的核心组件,它负责接收客户端的HTTP请求,并根据请求提供相应的资源。常见的WEB服务器软件包括Apache HTTP Server、Nginx、Microsoft IIS等。每种软件都有其独特的特性和配置方式。

  2. 服务器端脚本解释器(Server-Side Scripting Interpreters) 服务器端脚本语言如PHP、Python、Ruby等,需要相应的解释器来执行。这些解释器作为WEB服务器的一部分,使得服务器能够处理动态内容,如执行脚本、访问数据库和生成HTML页面。

  3. 数据库管理系统(Database Management System, DBMS) 对于提供动态内容和数据驱动的网站,数据库管理系统是必不可少的。它用于存储、检索和管理数据。常见的数据库系统包括MySQL、PostgreSQL、Microsoft SQL Server、MongoDB等。数据库管理系统通常与WEB服务器软件紧密集成,以便服务器端脚本可以轻松访问和操作数据。

用户访问Web浏览器过程讲解

  1. 用户输入URL 用户在浏览器的地址栏中输入一个URL(Uniform Resource Locator),这个URL包含了访问资源所需的所有信息,如协议、服务器地址和资源路径等。

  2. 浏览器解析URL 浏览器首先解析URL,确定使用的协议(如HTTP或HTTPS)、服务器的域名以及请求的资源路径。

  3. DNS查询 浏览器查询本地DNS缓存,看是否有该域名的IP地址记录。如果没有,浏览器会向配置的DNS服务器发起查询请求,以获取与域名对应的IP地址。DNS服务器会将域名解析成服务器的IP地址,这个地址是服务器在互联网上的唯一标识。

  4. 建立连接 一旦获得了服务器的IP地址,浏览器就会尝试与服务器建立连接。对于HTTPS协议,这个过程还包括TLS(Transport Layer Security)握手,确保建立起一个安全的、加密的连接。

  5. 发送HTTP请求 连接建立后,浏览器会构造一个HTTP请求消息,这个消息包括请求方法(如GET或POST)、请求的资源路径、协议版本、请求头(包含用户代理信息、接受的媒体类型等)以及可能的消息体(对于POST请求)。

  6. 服务器处理请求 服务器接收到HTTP请求后,会根据请求的内容进行处理。这可能涉及查询数据库、执行服务器端脚本或调用其他服务。服务器将处理结果封装在HTTP响应消息中,包括HTTP状态码(如200表示成功,404表示未找到资源)、响应头(包含内容类型、缓存控制等)和响应体(通常是HTML文档、图片、视频等资源数据)。

  7. 浏览器渲染页面 浏览器接收到服务器的HTTP响应后,会根据响应内容进行渲染。对于HTML文档,浏览器会解析HTML标记,构建DOM(Document Object Model)树;对于CSS,浏览器会应用样式规则;对于JavaScript,浏览器会执行脚本,可能会修改DOM或生成新的网络请求。 浏览器还会处理其他资源,如图片和视频,并将它们显示在页面上。这个过程可能涉及到额外的HTTP请求和响应。

  8. 加载外部资源 在页面渲染的过程中,浏览器可能会遇到对外部资源的引用,如图片、CSS文件、JavaScript文件等。对于这些资源,浏览器会发起新的HTTP请求,下载并加载这些资源,以便正确显示页面内容。

  9. 页面交互 一旦页面被加载和渲染,用户就可以与页面进行交互了。点击链接、提交表单、播放视频等操作都可能触发新的HTTP请求,从而重复上述过程。

  10. 缓存和优化 为了提高性能和用户体验,浏览器会缓存一些资源,如HTML文档、图片和CSS文件。当再次访问相同的资源时,浏览器可以直接从缓存中读取,而不需要再次从服务器下载。此外,现代浏览器还采用了多种优化技术,如预加载、懒加载和压缩传输等。

phpstudy

PHPStudy 是一个 Windows 平台下的 PHP 集成开发环境,它集成了 Apache、MySQL、PHP、phpMyAdmin、eAccelerator、Zend Optimizer 等软件,使得开发者可以快速搭建本地开发环境,进行网站开发和测试。

核心组件

  1. Apache HTTP Server:Apache 是最流行的开源WEB服务器之一,PHPStudy 中的 Apache 配置为了适应本地开发环境进行了优化。
  2. MySQL Database Server:MySQL 是一个流行的开源关系型数据库管理系统,PHPStudy 集成了 phpMyAdmin 工具,方便进行数据库管理。
  3. PHP:PHPStudy 提供了多个版本的 PHP,包括了最新的特性和性能改进,同时支持多种扩展。
  4. phpMyAdmin:phpMyAdmin 是一个基于WEB的 MySQL数据库管理工具,它允许你通过浏览器来管理MySQL数据库。
  5. eAcceleratorZend Optimizer:这两个都是 PHP 的性能优化工具,可以缓存 PHP 字节码,减少重复编译,提高执行速度。

官方网站

https://www.xp.cn

解决端口冲突

1.检测冲突端口并强制占用

2.更改默认端口

3.安装 vcredist

如果 Apache 和 MySQL 服务仍然无法启动,可能是因为缺少必要的运行库。在这种情况下,安装 Visual C++ 可再发行组件包(vcredist)可能有助于解决问题。vcredist 包含了运行基于 Microsoft Visual Studio 开发的应用程序所需的一些核心组件

VSCode

一个由微软开发的免费、开源的现代化轻量级代码编辑器。支持多种编程语言,提供了丰富的功能和扩展性,被广泛用于Web开发和软件开发。

特性

  1. 跨平台:VSCode 支持 Windows、macOS 和 Linux 操作系统,使得开发者可以在不同的环境下使用相同的编辑器。
  2. 丰富的编辑功能:VSCode 提供了代码高亮、智能代码补全(IntelliSense)、代码片段(Snippets)、代码重构、代码导航、Git集成等强大的编辑功能。
  3. 扩展市场:VSCode 拥有一个庞大的扩展市场,用户可以根据自己的需要安装各种扩展来增强编辑器的功能。
  4. 调试功能:VSCode 内置了强大的调试工具,支持断点、单步执行、变量查看等调试功能,适用于多种编程语言和框架。
  5. 集成终端:VSCode 集成了终端,用户可以直接在编辑器中执行命令行操作,提高了工作效率。
  6. 自定义和可配置:VSCode 允许用户自定义快捷键、设置、外观(主题和图标)等,使得编辑器可以根据个人喜好进行定制。

官方网站

Download Visual Studio Code - Mac, Linux, Windows

语言修改

测试环境

开启phpstudy

VScode打开phpstudy安装目录下www文件夹

创建新的php后缀文件,编写php代码

<?php

phpinfo();

?>

浏览器访问127.0.0.1显示默认页面并修改【引用】

打开php文件

相关推荐
幺零九零零3 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
free4 小时前
netstat中sendq/recvq用于排查发送端发送数据的问题
服务器
力姆泰克4 小时前
看电动缸是如何提高农机的自动化水平
大数据·运维·服务器·数据库·人工智能·自动化·1024程序员节
力姆泰克4 小时前
力姆泰克电动缸助力农业机械装备,提高农机的自动化水平
大数据·服务器·数据库·人工智能·1024程序员节
程思扬5 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
sun0077005 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
tingting01196 小时前
Linux 普通用户禁用sudo su - 命令
linux·运维·服务器
WZF-Sang6 小时前
Linux—进程学习-01
linux·服务器·数据库·学习·操作系统·vim·进程
没有名字的小羊7 小时前
二.Linux文件与目录管理
linux·运维·服务器
陌上花开缓缓归以7 小时前
linux strace 查看程序异常问题总结
linux·运维·服务器