适合小白的网络安全学习笔记——第二课(页面解析架构和基本配置)

一.网站类型

静态网站:由保存在服务器上的文件组成,内容不会变化。

动态网站:与数据库相连,根据用户行为动态生成内容。

二.URI,URL,URN

  1. URI(Uniform Resource Identifier,统一资源标识符)

    • URI是一种标准化的字符串,用于标识互联网上的各种资源。
    • 它提供了一种简单的方法来识别和访问网络资源,如网页、图片、视频等。
    • URI是URL和URN的超集,意味着所有的URL和URN都是URI。
  2. URL(Uniform Resource Locator,统一资源定位符)

    • URL是URI的一种,专门用来标识网络资源的位置。
    • 它不仅提供了资源的名称,还提供了如何访问该资源的信息,如协议(http、https)、服务器地址(域名或IP地址)和路径。
    • 例如,https://www.example.com/index.html 是一个URL,它指定了使用HTTPS协议访问位于www.example.com服务器上的index.html文件。
  3. URN(Uniform Resource Name,统一资源名称)

    • URN也是URI的一种,它用于持久地标识资源,而与资源的网络位置无关。
    • URN的设计目的是提供一种资源的持久名称,即使资源的网络位置发生变化,URN仍然保持不变。
    • URN通常包括命名空间(namespace)和资源名称(resource name),如urn:isbn:0-486-27557-4

三.服务器软件介绍

  • Apache 

  • 是一个多功能的网页服务器,适合处理各种类型的Web请求,特别是动态内容和静态内容的托管。
  • Tomcat 

  • 是专为Java Web应用程序设计的Servlet容器,它与Apache HTTP Server可以很好地集成,但主要用于运行Java Web应用。
  • Nginx

  •  是一个高性能的服务器,特别擅长处理静态内容和作为反向代理服务器使用,它的高并发处理能力使其在现代Web架构中非常受欢迎。

四.动静态页面解析

静态页面解析

  1. 用户输入URL:用户在浏览器地址栏输入一个网站的URL。

  2. DNS解析:浏览器首先需要将域名解析为IP地址,这通常通过DNS(域名系统)完成。

  3. 建立连接:浏览器使用得到的IP地址与服务器建立TCP连接。

  4. 发送HTTP请求:浏览器向服务器发送一个HTTP请求,请求特定的静态资源,如HTML文件。

  5. 服务器处理请求

    • Apache服务器:服务器上的Apache进程接收到HTTP请求后,根据请求的URI(统一资源标识符)在服务器的文件系统中查找对应的文件。
    • 文件查找:Apache根据配置的DocumentRoot和可能的Alias设置,找到请求的HTML文件。
  6. 返回响应:如果文件存在,Apache将文件内容作为HTTP响应发送回浏览器。

  7. 浏览器渲染:浏览器接收到HTML内容后,开始解析HTML并渲染页面。

动态页面解析

  1. 用户请求动态页面:用户请求一个URL,该URL指向一个动态生成的页面,如PHP文件。

  2. 相同的DNS解析和TCP连接建立:与静态页面相同,浏览器首先解析域名并建立连接。

  3. 发送HTTP请求:浏览器发送HTTP请求到服务器,请求动态页面。

  4. Apache服务器处理请求

    • 识别动态内容:Apache识别到请求是针对动态内容(如PHP文件),并根据配置将请求转发给相应的处理程序。
  5. PHP引擎处理

    • 执行PHP代码:PHP引擎(如mod_php模块)执行PHP文件中的代码。
    • 数据库交互:如果PHP代码需要,它可能会与数据库进行交互,执行查询并获取数据。
  6. 生成HTML:PHP脚本执行完毕后,生成HTML内容。

  7. 返回HTML给浏览器:Apache将PHP生成的HTML内容作为HTTP响应发送回浏览器。

  8. 浏览器渲染:浏览器接收到动态生成的HTML内容后,解析并渲染页面。

五.服务器软件配置

Apache服务器目录结构

  • bin:存放Apache的二进制可执行文件,如httpd(Apache服务器的主程序)和apachectl(用来控制Apache服务器的命令行工具)。

  • conf:配置文件目录,包含Apache服务器的配置文件,如httpd.conf(主配置文件)和其他包含文件。

  • lib:核心文件夹,存放Apache所需的库文件,这些库文件提供了Apache的多种功能。

  • htdocs:Apache默认的网页文件夹,即网站的根目录,所有静态网页文件(如HTML、CSS、JavaScript等)通常存放在这里。

  • modules:模块目录,包含Apache的模块文件,这些模块可以被加载到配置文件中,以扩展Apache的功能。

网络站点设置

  • 修改根目录:通过修改httpd.conf文件中的DocumentRoot指令来设置网站的根目录,这是存放网站文件的地方。

    DocumentRoot "C:/xampp/htdocs" <Directory "C:/xampp/htdocs"> ... </Directory>

  • 设置域名和监听端口:使用ServerNameListen指令来设置网站的域名和监听端口。ServerName指定服务器的主机名,Listen指定服务器监听的端口。

    ServerName www.example.com:80 Listen 80

    Listen指令可以更改为其他端口,如Listen 8080,但这需要在防火墙和网络配置中相应地开放该端口。

PHP与Apache集成

  • 作为模块加载:PHP可以作为Apache的一个模块加载,这通过在httpd.conf文件中使用LoadModule指令实现。

    LoadModule php_module modules/libphp7apache2.dll

    注意:具体的模块文件名(如libphp7apache2.dll)取决于PHP版本和操作系统。

  • 关联PHP文件:使用AddType指令将PHP文件与Apache关联,这样Apache就知道如何处理以.php结尾的文件。

    AddType application/x-httpd-php .php

C语言与PHP

  • PHP底层编写:PHP底层确实是使用C语言编写的,这使得PHP具有高性能和灵活性。

  • C语言编译:C语言是一种编译语言,需要编译器将源代码转换为机器代码。VC9(Visual C++ 2008)代表一种编译环境,提供了编译C语言程序的工具。

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值