第1课_网络基础和HTTP基础
热度🔥:13 免费课程
授课语音
网络基础与 HTTP 基础知识
理解网络和 HTTP(超文本传输协议)是现代 web 开发的基础。以下内容将介绍网络的基本概念和 HTTP 协议的基础知识。
网络基础
1. 网络概念
网络 是指由一系列设备(如计算机、服务器、路由器等)通过通信线路连接在一起,用来进行信息交换的系统。常见的网络有局域网(LAN)和广域网(WAN)。
- 局域网 (LAN):局限在一个小区域(如家庭或公司内部)的网络。
- 广域网 (WAN):覆盖大范围地理区域的网络,最典型的例子是互联网。
2. 网络协议
网络协议 是网络设备之间通信的规则。它规定了数据如何格式化、传输以及如何进行错误检测和恢复。
常见的网络协议有:
- TCP/IP:传输控制协议/因特网协议,是互联网通信的基础协议。
- HTTP/HTTPS:超文本传输协议(HTTP)和其加密版本 HTTPS,用于 web 页面和浏览器的通信。
- FTP:文件传输协议,用于文件的上传和下载。
- DNS:域名系统,将域名转换为 IP 地址。
3. IP 地址与 DNS
IP 地址:每个设备在网络中的唯一标识符,可以是 IPv4(如
192.168.1.1
)或 IPv6(如2001:0db8:85a3:0000:0000:8a2e:0370:7334
)。DNS:域名系统(DNS)是将域名(如
www.example.com
)解析为 IP 地址的服务。
HTTP基础
1. HTTP 协议概述
HTTP(HyperText Transfer Protocol) 是一个无状态的应用层协议,用于客户端和服务器之间交换数据。它是 Web 中最重要的协议之一。
- HTTP 是无状态的:每次请求都是独立的,服务器不会记住客户端的状态。
- HTTP 是请求/响应模型:客户端发出请求,服务器处理请求并返回响应。
2. HTTP 请求
HTTP 请求由以下几个部分组成:
请求行:包含 HTTP 方法、请求的 URL 和 HTTP 版本。
- 示例:
GET /index.html HTTP/1.1
- 示例:
请求头:包含关于客户端和请求的信息,如浏览器类型、可接受的内容类型等。
- 示例:
User-Agent: Mozilla/5.0
- 示例:
请求体(可选):通常在 POST 请求中包含,用来发送数据到服务器(如表单数据)。
常见的 HTTP 请求方法:
- GET:从服务器获取资源。
- POST:向服务器发送数据(如表单提交)。
- PUT:更新服务器上的资源。
- DELETE:删除服务器上的资源。
- HEAD:类似 GET,但不返回响应体,仅返回响应头。
- OPTIONS:查询服务器支持的 HTTP 方法。
3. HTTP 响应
HTTP 响应由以下几个部分组成:
响应行:包含 HTTP 版本、状态码和状态消息。
- 示例:
HTTP/1.1 200 OK
- 示例:
响应头:包含关于响应的各种信息,如服务器类型、内容类型、缓存信息等。
- 示例:
Content-Type: text/html
- 示例:
响应体(可选):服务器返回的实际数据,如 HTML 文件、JSON 数据等。
常见的 HTTP 状态码:
- 200 OK:请求成功,返回请求的资源。
- 201 Created:资源创建成功。
- 400 Bad Request:请求无效,可能缺少必要的参数或语法错误。
- 401 Unauthorized:请求未授权,需要身份验证。
- 404 Not Found:请求的资源不存在。
- 500 Internal Server Error:服务器错误,无法处理请求。
4. HTTP 请求和响应的交互流程
- 客户端(浏览器或应用)发出 HTTP 请求。
- 服务器接收到请求后,处理并返回相应的数据(如网页、图片、JSON 数据等)。
- 客户端根据响应的数据渲染页面或执行相应操作。
5. HTTP 与 HTTPS
- HTTP(超文本传输协议):数据以明文传输,容易被窃听或篡改。
- HTTPS(安全的 HTTP):在 HTTP 上加入了 SSL/TLS 协议进行加密,保证数据传输的安全性和完整性。
HTTP 请求头与响应头
1. 常见请求头
User-Agent:浏览器的信息,用于告知服务器请求来自于哪个浏览器。
- 示例:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
- 示例:
Accept:告诉服务器客户端能够处理的内容类型。
- 示例:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
- 示例:
Host:指定请求的服务器主机名。
- 示例:
Host: www.example.com
- 示例:
Content-Type:指定请求体的内容类型。
- 示例:
Content-Type: application/json
- 示例:
2. 常见响应头
Content-Type:返回数据的内容类型。
- 示例:
Content-Type: text/html; charset=UTF-8
- 示例:
Content-Length:响应体的长度(字节数)。
- 示例:
Content-Length: 1234
- 示例:
Set-Cookie:设置 Cookie,客户端可以将其存储以便后续请求中使用。
- 示例:
Set-Cookie: sessionId=abc123; Path=/; HttpOnly
- 示例:
Cache-Control:指定缓存策略。
- 示例:
Cache-Control: no-cache, no-store, must-revalidate
- 示例:
HTTP 方法与 RESTful API
RESTful API 是一种基于 HTTP 的 Web 服务设计风格,使用 HTTP 方法来对资源进行操作。它的核心原则是:
- GET:获取资源。
- POST:创建资源。
- PUT:更新资源。
- DELETE:删除资源。
RESTful API 示例
假设有一个简单的资源 User
,它有以下接口:
- GET /users:获取所有用户。
- GET /users/{id}:获取指定用户。
- POST /users:创建新用户。
- PUT /users/{id}:更新指定用户。
- DELETE /users/{id}:删除指定用户。
总结
- 网络基础:网络是计算机和设备通过通信协议连接起来的系统,常见协议如 TCP/IP 和 HTTP/HTTPS。
- HTTP 基础:HTTP 是无状态的应用层协议,主要用于客户端与服务器之间的通信。它包括请求和响应,常用的 HTTP 方法有 GET、POST、PUT、DELETE 等,常见的状态码有 200、404、500 等。
- HTTP 请求与响应头:HTTP 请求头携带客户端的信息,响应头携带服务器返回的信息,二者都对 Web 应用的行为有重要影响。
理解这些基本概念是进行 Web 开发的基础,也是更高层次 Web 技术(如前端开发、API 设计等)的基础。