Web服务与虚拟主机

目录

WWW 万维网

HTML

URI 与 URL

1. URI(统一资源标识符)

2. URL(统一资源定位器)

3. URN(统一资源名称)

HTTP 超文本传输协议

主要特点

工作流程

HTTP 消息结构

HTTP 请求

a. 请求行

b. 请求头

c. 请求体

HTTP 响应

a. 状态行

b. 响应头

c. 响应体

HTTP 状态码

常见的 Web URL 格式

虚拟目录

虚拟目录的优势

虚拟主机(有时又叫虚拟站点或网站)

关键区别


WWW 万维网

WWW (万维网)是一个庞大的信息系统,它使通过互联网连接的文档和其他资源能够相互链接和访问。这些资源主要通过 URL(统一资源定位器)进行访问,并通过 HTTP(超文本传输协议)传输。WWW 的构建基于三项核心技术:

  • HTML(超文本标记语言):用于创建网页和网页上的链接
  • URI(统一资源标识符):作为每个资源的地址,最常见的形式是 URL
  • HTTP(超文本传输协议):用于 Web 服务器和客户端之间传输数据

HTML

HTML 是用于创建网页和网页应用的标准标记语言。HTML 是所有 Web 开发的基础,它描述了一个网站的结构和内容,而外观和表现则通常由 CSS (层叠样式表)控制。

如需具体学习可参考

HTML 简介icon-default.png?t=N7T8https://www.w3school.com.cn/html/html_jianjie.asp

URI 与 URL

1. URI(统一资源标识符)

一种用来标识某一互联网资源的字符串。URI 的目的是唯一标识一个资源而不必指明它在哪里存在或如何访问。URI 具有两种形式:URL 和 URN

2. URL(统一资源定位器)

URI 最常见的形式,不仅标识资源,还提供了找到该资源的方法

eg:http://www.example.com/index.html 是一个 URL,它提供了资源的位置(www.example.com)和访问协议(HTTP)

3. URN(统一资源名称)

另一种形式的 URI,它通过名字来标识资源,但不指定如何定位资源

eg:urn:isbn:0451450523 是通过 ISBN 唯一标识的一个书籍资源,但是不提供如何找到或获取这本书的方法

HTTP 超文本传输协议

HTTP 是互联网上应用最广泛的协议之一,基于 TCP 80 端口。主要用于在 Web 浏览器和服务器之间传输数据,这个协议定义了客户端(用户的浏览器)和服务器之间请求和响应的格式

主要特点
  • 无状态协议:HTTP 自身不保存之前的交互状态,意味着每次请求之间都是独立的。这个特点简化了服务器设计,但是也限制了应用开发。为了克服这一限制,通常会在服务器端使用 cookie 来存储用户状态
  • 可扩展:HTTP 协议的请求和响应头部都支持自定义字段,使得 HTTP 可以适应各种用途
工作流程
  1. 连接:客户端通过网络与服务器建立 TCP 连接(通常是 80 端口或 443 端口)
  2. 发送请求:客户端发送一个 HTTP 请求到服务器
  3. 处理请求并响应:服务器处理请求并回送一个 HTTP 响应
  4. 释放连接或复用:在 HTTP/1.0 中,每个请求或响应后通常关闭 TCP 连接。HTTP/1.1 支持持久连接,可用于多个请求或响应
  5. 关闭连接:最终关闭 TCP 连接
HTTP 消息结构
  • 请求:请求行(包括方法、URI、HTTP 版本)+请求头部+可选的消息体

方法:GET(请求资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)

  • 响应:状态行(包含 HTTP 版本、状态码、状态文本)+响应头部+可选的消息体

状态码:例如 200(成功)、404(未找到)、500(服务器错误)等

HTTP 请求
a. 请求行

HTTP 的第一行,包含三个部分,方法、请求 URI、协议版本

eg:GET /index.html HTTP/1.1

这表示客户端希望使用 GET 方法获取位于/index.html 的资源,使用的 HTTP 版本为 1.1

b. 请求头

从第二行开始到第一个空行为止直接的内容,包含多个字段。

包含关于请求和请求资源的元数据。以键值对的形式,每对之间用冒号分隔。请求头在请求行之后,用空行结束。

ps:请求头和请求体之间会有一个请求空行

c. 请求体

包含发送给服务器的数据。在 POST 和 PUT 请求中,这些数据通常用于更新资源或创建资源。请求体的具体内容和格式由请求头中的 Content-Type 决定

eg:

  • Content-Type:application/x-www-form-urlencoded

请求体格式是编码的键值对,如 key1=value1&key2=value2

  • Content-Type:multipart/form-data

用于文件上传等操作

  • Content-Type:application/json

请求体是一个 JSON 字符串

HTTP 响应
a. 状态行

响应报文的第一行,包括三个部分:HTTP 版本、状态码、状态描述

eg:HTTP/1.1 200 OK

表示 HTTP 版本为 1.1,请求成功

b. 响应头

提供了关于服务器、响应和其他访问控制的元数据,类似于请求头。响应头位于状态行之后,以空行结束。

c. 响应体

服务器返回的实际数据部分,并非所有响应都有。响应体可能包含请求 HTML文件、图像、错误消息、或者其他类型的数据

HTTP 状态码

1xx 信息性状态码

  • 100:收到请求的起始部分,客户端应该继续请求
  • 101:服务器根据客户端的指示,将协议切换成 update header 列出的协议

2xx 成功状态码

  • 200:请求成功,信息返回响应中
  • 201:请求成功,并创建了新的资源
  • 202:请求已接受进行处理,但处理尚未完成
  • 204:服务器成功处理请求,但不需返回任何实体内容

3xx 重定向状态码

  • 300:请求的资源可包括多个位置,相应可返回一个资源特征和地址列表用于用户终端选择
  • 301:永久移动
  • 302:临时移动
  • 304:所请求的资源未修改

4xx 客户端错误状态码

  • 400:客户端请求的语法错误,服务器无法理解
  • 403:服务器理解请求客户端的请求,但是拒绝执行
  • 404:服务器无法根据客户端的请求找到资源网页
  • 405:客户端请求中的方法被禁止

5xx 服务器错误状态码

  • 500:服务器内部错误,无法完成请求

ps:仅列出部分常见状态码

常见的 Web URL 格式
  • http://www.example.com

标准的 HTTP 网址,不带端口号或虚拟目录,默认情况下 HTTP 协议使用端口号 80

  • http://www.example.com:168

指定了端口号 168,通常 Web 服务可以配置在除了默认端口外的任何端口上,这在主机上运行多个 Web 服务时特别有用

  • http://www.example.com/web

这个 URL 包含一个虚拟目录 web,虚拟目录详解见下

  • http://www.example.com:168/web

这个 URL 同时包含端口号和虚拟目录。这种格式非常实用访问配置在非标准端口上的特定 Web 应用或服务

虚拟目录

虚拟目录是 Web 服务器上的一个路径别名,它指向服务器文件系统中的某个位置,客户端可以通过这个简化的路径访问存储在那里的资源

eg:假设一个托管在 IIS 上的网站,其根目录为 C:\inetpub\wwwroot\mysite,并且网站 URL 是 http://www.example.com。如果在服务器的 D:\content\images 文件夹中存储了一些图片,但又不想或者无法将这些图片文件移动到网站的根目录下,那么此时可以通过创建一个虚拟目录实现该需求。大致步骤如下:

  1. 在 IIS 中为 D:\content\images 文件夹创建一个虚拟目录,并将其命名为 images
  2. 这个虚拟目录将映射到网站的 URL 路径 /images 上
  3. 此时可以通过 http://www.example.com/images 来访问 D:\content\images 文件夹中的内容
虚拟目录的优势
  1. 组织文件:不需要将所有内容都放在网站的根目录下,可以将不同的内容存放在不同的物理位置
  2. 安全性:可以将一些敏感文件放在非网站根目录下,同时仍通过虚拟目录来访问
  3. 便于管理:可以将多个网站共享的一些公共资源存放在同一个位置,减少冗余,同时便于更新和维护

虚拟主机(有时又叫虚拟站点或网站)

虚拟主机允许一台服务器托管多个网站,每个网站都有自己的域名和网站内容。每个虚拟主机都像是一个独立的服务器,具有自己的设置和配置

关键区别
  • 虚拟目录:主要用于文件和目录访问,是文件系统的逻辑表示
  • 虚拟主机:用于管理和托管完整的网站,每个网站都可以有自己的域名、配置和内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值