#import "labtemplate.typ": * #show: nudtlabpaper.with(title: "网站搭建实验", author: "程景愉", id: "202302723005", training_type: "无军籍", grade: "2023", major: "网络工程", department: "计算机学院", advisor: "逄德明", jobtitle: "教授", lab: "307-211", date: "2026.01.17", header_str: "《计算机网络》实验报告", ) #set page(header: [ #set par(spacing: 6pt) #align(center)[#text(size: 11pt)[《计算机网络》实验报告]] #v(-0.3em) #line(length: 100%, stroke: (thickness: 1pt)) ],) // Global text settings #set text(font: song, size: 10.5pt) #set par(first-line-indent: 2em, justify: true, leading: 1em) // Heading styling #show heading: it => box(width: 100%)[ #v(0.50em) #set text(font: hei) #counter(heading).display() #h(0.5em) #it.body ] #outline(title: "目录", depth: 3, indent: 2em) #pagebreak() #outline( title: [图目录], target: figure.where(kind: image), ) #pagebreak() // List settings #set enum(indent: 0.5em, body-indent: 0.5em) // Disable indentation for lists #show enum: set par(first-line-indent: 0pt) #show list: set par(first-line-indent: 0pt) = 实验目的 1. 了解万维网(World Wide Web)的历史起源与发展,通过复刻世界上第一个网站,直观感受早期Web技术的形态,理解超文本标记语言(HTML)的基本结构与演变。 2. 掌握现代Web前端开发技术,包括HTML5语义化标签、CSS3样式设计及响应式布局,能够独立设计并编写符合标准、美观大方的个人主页。 3. 熟悉互联网基础设施的运作机制,包括域名系统(DNS)的注册与解析原理,以及Linux服务器的基本操作。 4. 掌握Web服务器软件(Caddy)的安装与配置,实现网站在个人服务器上的部署,并配置HTTPS安全访问,打通从开发到上线的全流程。 = 实验原理 1. *HTML (HyperText Markup Language)*: 超文本标记语言是构建Web的基础。它使用标签(Tags)来定义网页的内容结构,如标题、段落、链接和图片。实验中涉及从早期的HTML标签到现代HTML5语义化标签的应用。 2. *CSS (Cascading Style Sheets)*: 层叠样式表用于控制网页的外观和布局。通过CSS选择器、盒模型、Flexbox/Grid布局以及媒体查询(Media Queries),可以将结构与表现分离,实现适应不同屏幕尺寸的响应式设计。 3. *Web服务器与HTTP协议*: Web服务器(如Caddy)运行在服务端,监听标准端口(80/443),接收客户端(浏览器)发起的HTTP/HTTPS请求,并返回请求的资源(HTML文件、图片等)。Caddy以其自动化的HTTPS配置和简洁的Caddyfile配置语法著称。 4. *DNS (Domain Name System)*: 域名系统将人类易记的域名(如 `hifuu.ink`)映射为计算机网络中通讯使用的IP地址,使用户能够通过域名便捷地访问服务器。 = 实验环境 - *操作系统*: Linux (个人公网服务器环境,使用Rockylinux 9) - *Web服务器*: Caddy Web Server (支持自动 HTTPS) - *开发环境*: VS Code, Typst (实验报告排版) - *前端技术栈*: HTML5, CSS3 (未使用庞大的前端框架,保持轻量级) - *域名服务商*: 阿里云 (Aliyun) - *测试工具*: Firefox Developer Edition = 实验步骤及结果 == 复刻世界上第一个网站(https://www.hifuu.ink/TheProject.html) 实验的第一部分是致敬历史,复刻由万维网之父 Tim Berners-Lee 创建的世界上第一个网站 "The World Wide Web project"。 我获取了原始的 `TheProject.html` 源代码。代码中包含了许多早期 HTML 的特征,例如 `` 标签(这是当年 NeXTSTEP 开发环境特有的标签)以及 `
`, `
`, `
` 定义列表的使用。该页面通过简单的超链接结构,构建了一个关于 W3C 项目本身的各种信息的索引。 #figure( rect(width: 100%, height: 8cm, stroke: (thickness: 1pt, dash: "dashed"))[ #align(center + horizon)[#image("screenshot2.png")] ], caption: [复刻的世界上第一个网站页面效果], ) == 搭建个人主页 (https://www.hifuu.ink) 实验的第二部分是设计并实现我的个人主页 "CGH0S7 Official"。主页旨在展示个人简介、技术栈、教育经历及博客链接。 === 页面结构设计 (HTML5) 在 `index.html` 中,我采用了 HTML5 的语义化标签来构建页面结构,这有助于代码的可读性和 SEO 优化: - *`
`*: 包含了网站导航 (`