WEB服务与虚拟主机

WEB服务与虚拟主机

www(万维网)构建基于三项核心技术HTML、URL、HTTP

HTML

​ 是用于创建网页和网页应用的标准标记语言,是所有Web开发的基础,描述网站的结构和内容,而其外观和表现通常由CSS控制。

基本框架

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>

</body>
</html>

URI和URL

URI:统一资源定位符,唯一标识一个资源而不必指明它在哪里存在或如何让访问。URI包括URL和URN(统一资源名称)。

URL:统一资源定位器,用来告诉WEB服务,浏览器请求资源文件的路径,eg:https://www.csdn.net/,提供了资源位置和访问协议(HTTPS)。

HTTP

​ 超文本传输协议,是互联网最广泛的协议之一,基于TCP80端口,主要用于在Web浏览器和服务器之间传输数据。http协议定义了客户端和浏览器之间请求和响应的格式。

特点

无状态协议:HTTP不保存之前的交互状态,每次的请求都是独立的,简化了设计,但限制了开发,所以服务器端会用cookie来存储用户状态。

可扩展:HTTP协议的请求和响应头部都支持自定义字段,使得HTTP可以适应各种用途。

消息结构

请求

  • 请求行:包含三个部分

方法:一个动词,指定请求的操作类型

​ GET:请求检索的资源

​ POST:用于表单提交或文件上传,提交数据

​ PUT:替换指定资源的所有当前表示,服务器写入文档(一般不用)

​ DELETE:删除指定资源(一般不用)

​ HEAD:与GET类似,但在服务器响应中至返回首部

​ OPTIONS:测试服务器所支持的方法

请求URI:指定所请求资源的位置

协议版本:通常是HTTP/1.1或HTTP/2.0

一个典型的请求头

GET /index.html HTTP/1.1
//用GET方法请求资源
  • 请求头

从第二行到第一个空行位置中间的内容都属于请求头。包含多个字段。

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

  • 请求体

请求体是可选的,并不是所有的HTTP请求都包含请求体(GET请求通常没有请求体)。请求体包含发送给服务器的数据。在POST和PUT请求中,这些数据通常用于更新资源或创建资源。

请求体的具体内容由请求头中的Content-Type决定

Content-Type:application/x-www-form-urlencoded  //体格式是编码的键值对
Content-Type:multipart/form-data     //文件上传等操作
Content-Type:application/json        //一个JSON字符串

响应

  • 状态行

    HTTP版本:标示响应使用的HTTP协议

    状态码:三位数来表明响应的结果,2xx表示成功,3xx表示重定向,4xx表示客户端错误,5xx表示服务器错误。

    状态描述:简短的短语,“OK”、“Not Found”等

HTTP/1.1 200 OK
  • 响应头

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

  • 响应体

​ 响应体是服务器返回的实际数据部分,它不是所有响应都有的。响应体可能包含请求的HTML文件、图像、错误消息、或者其他类型的数据。响应体的内容应符合状态行和响应头中定义的内容类型。


常见的Web URL格式

  • 基本网址

http://www.xxx.com.cn

标准HTTP网址,默认使用端口80

  • 带端口的网址

http://www.xxx.com.cn:123

指定了端口号为123。Web服务器可以配置在除了默认端口外的任何端口上,这样在主机运行多个Web服务时非常有用。

  • 带虚拟目录的网址

http://www.xxx.com.cn/webexam

包含虚拟目录webexam。虚拟目录是Web服务器的一个路径别名,只想服务器文件系统中的某个位置,客户端可以通过这个简化的路径来访问资源。

  • 带端口号和虚拟目录的网址

http://www.xxx.com.cn:123/webexam

适用于访问配置在非标准端口上的特定Web应用或服务。

虚拟目录

​ 虚拟目录是 IIS 中的⼀种机制,它允许你将服务器上不同的物理文件夹映射到网站的 URL 路径上。通过创建虚拟目录,你可以将服务器上任意位置的文件或文件夹通过⼀个特定的 URL 访问,而不需要将这些文件或文件夹直接放在网站的根目录下。

优势

  1. 组织文件:将文件放在不同位置,更好组织文件和资源
  2. 安全性:将敏感文件放在非根目录下,安全性UP
  3. 便于管理

虚拟主机

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

功能:允许单一的物理服务器模拟多个Web服务器的功能,每个“服务器”都有自己的域名和网站内容。

虚拟目录与虚拟主机的关键区别

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