## 1. Web开发的基本概念 > Web应用是基于 Web 技术开发的应用程序,用户可以通过浏览器访问和使用,而无需下载和安装应用。Web应用可以在不同的设备和平台上运行,无需针对不同的操作系统进行开发和维护,具有较好的跨平台兼容性。 > Java Web开发是指使用Java语言来构建和维护可以在Web浏览器上运行的应用程序的过程。这些应用程序通常由服务器端组件和客户端组件组成,服务器端负责处理业务逻辑并提供数据给客户端,而客户端则负责显示数据并允许用户与之交互。 ## 2. web前端开发基础 ### HTTP协议 **URL: Uniform Resource Locator 统一资源定位符** > URL是URI的子集,URL包含访问资源所需的协议类型(如HTTP、HTTPS、FTP)和资源的位置. #### HTTP请求包结构 一个完整的HTTP请求包通常包含三部分: - 请求行:包含请求方法Method、请求的URL和HTTP版本。 - 请求头:包含一系列键值对,提供了关于请求的额外信息,如客户端类型、接受的内容类型等。 - 请求体:请求体并不是所有HTTP请求都有的部分;主要用于包含要发送给服务器的数据,如表单数据、上传的文件内容等. ![](./imgs/http-request-struct.png) #### HTTP请求方法 - Get: 获取资源 - Post: 创建资源 - Put: 更新资源 - Delete: 删除资源 #### HTTP常见状态码 - **200 OK:** 请求成功。 - **403 Forbidden:** 请求失败,服务器拒绝执行请求。 - **404 Not Found:** 请求失败,服务器上没有请求的资源。 - **500 Internal Server Error:** 请求失败,服务器出现未知的内部错误。 #### Cookie HTTP 是 `无状态协议`。 Cookie是为了解决HTTP协议无状态的问题而设计的一种持久化机制,它允许服务器在用户浏览器上存储数据。Cookie 的数据保存在用户浏览器中,服务器可以通过 Cookie 识别用户,从而实现用户个性化。 Cookie 主要用于以下三个方面: - 会话状态管理 - 个性化设置 - 浏览器行为跟踪 ### HTML/CSS/JavaScript基础 #### HTML5基础知识 HTML 元素的定义: ![](../resources/imgs/grumpy-cat-small.png) ``` 开始标签(Opening tag):包含元素的名称(本例为 p),被左、右角括号所包围。开头标签标志着元素开始或开始生效的地方。在这个示例中,它在段落文本的开始之前。 内容(Content):元素的内容,本例中就是段落的文本。 结束标签(Closing tag):与开始标签相似,只是其在元素名之前包含了一个斜杠。这标志着该元素的结束。没有包含关闭标签是一个常见的初学者错误,它可能会产生奇特的结果。 ``` 元素也可以拥有属性,属性看起来像这样: ![](./imgs/grumpy-cat-attribute-small.png) 属性包含元素的额外信息,这些信息不会出现在实际的内容中。在上述例子中,class 属性用于设置 HTML 元素的类名。 #### CSS 在HTML文档中,使用`link`标签可以将外部CSS文件链接到网页中,以定义样式。 使用`style`标签,在HTML文档中直接定义样式。 css的选择器: | 选择器类型 | 解释 | 示例 | | ------------ |-----------------------------------|-----------------------------------------------------------------------| | **元素选择器** | 也叫标签选择器,通过标签名选取元素 | `div { color: red; }` 选取所有 `