1、简单描述“统一资源标识符URI”和“统一资源定位器URL”的定义:
- **统一资源标识符(URI)**:URI是Uniform Resource Identifier的缩写,它是一种用于标识资源的字符串。资源可以是网页、文档、图片等互联网上的任何东西。URI提供了一种标准化的方式来命名和定位这些资源。URI可以是绝对的,也可以是相对的。
- **统一资源定位器(URL)**:URL是Uniform Resource Locator的缩写,它是URI的一种,用于在互联网上定位和访问资源。URL包含了访问资源所需的所有信息,包括协议(如HTTP、HTTPS)、服务器地址(域名或IP地址)、端口号(如果非默认端口)以及资源路径。简而言之,URL是互联网上资源的具体地址。
2、请求行由哪三部分组成?
HTTP请求行通常由以下三部分组成:
**方法**:指定要对资源执行的操作,如GET、POST、PUT、DELETE等。
**请求URI**:资源的路径,指明了请求的资源位置。
**HTTP版本**:指定了使用的HTTP协议的版本,如HTTP/1.1或HTTP/2。
3、请问http://localhost:8080/hello中8080是代表什么?localhost是什么意思?http是什么意思?
- **8080**:这是端口号。在网络通信中,端口号用于区分不同的服务。默认情况下,HTTP服务使用的端口号是80,HTTPS服务使用的端口号是443。在这个例子中,8080是一个非默认端口,表明该HTTP服务运行在8080端口上。
- **localhost**:这是一个特殊的域名,指向本地计算机。当你在浏览器地址栏输入localhost时,浏览器会将请求发送到本机的服务器,而不是发送到互联网上的其他服务器。
- **http**:这是超文本传输协议(Hypertext Transfer Protocol)的缩写,它是用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端和服务器之间请求和响应的格式。在这个例子中,http表明这是一个HTTP协议的请求。
4、Session和Cookie技术有各自的特点,请对两者作一个比较:
1. 存储位置:
Cookie: 存储在客户端浏览器中,通常保存在用户的硬盘上。
Session: 存储在服务器端,客户端只需要保存一个 Session ID 来标识对应的 Session。
2. 存储容量:
Cookie: 存储容量较小,一般每个 Cookie 限制在4KB左右。
Session: 理论上存储容量更大,但受限于服务器的内存和硬盘空间。
3. 存储时间:
Cookie: 可以设置过期时间,浏览器会根据设置的时间来决定何时删除 Cookie。
Session: 依赖于服务器的配置,通常在用户关闭浏览器时失效,但也可以通过设置来定义 Session 的超时时间。
4. 安全性:
Cookie: 存储在客户端,更容易被篡改,安全性较低。
Session: 存储在服务器端,只有通过 Session ID 才能访问,相对更安全。
5. 访问速度:
Cookie: 由于存储在客户端,访问速度较快。
Session: 需要从服务器端获取,访问速度相对较慢,尤其是在高并发的情况下。
6. 跨域问题:
Cookie: 可以设置为跨域访问,但需要服务器端配置支持。
Session: 默认不跨域,每个域都有自己的 Session。
7. 适用场景:
Cookie: 适用于存储一些不太敏感的信息,如用户偏好设置、会话标识等。
Session: 适用于需要服务器端验证的信息,如用户的登录状态、权限信息等。
8. 管理复杂度:
Cookie: 管理相对简单,但需要考虑 Cookie 的清理和过期策略。
Session: 管理复杂度较高,需要服务器端进行 Session 的创建、维护和销毁。
9. 存储成本:
Cookie: 存储在客户端,不占用服务器资源。
Session: 存储在服务器端,占用服务器内存和硬盘空间。
10. 客户端支持:
Cookie: 需要客户端浏览器支持 Cookie。
Session: 通过 Session ID 实现,对客户端没有特别要求。