【开发】HTTP学习笔记
【开发】HTTP学习笔记
Web基本概念
B/S架构
Browser/Server,浏览器/服务器架构模式,特点是客户端只需要浏览器,应用程序的逻辑和数据都在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可
资源类型
- 静态资源:HTML、CSS、JavaScript、图片等,负责页面展示
- 动态资源:Servlet、JSP等,负责逻辑处理
- 数据库:负责存储数据
工具
- HTTP协议:定义通信规则
- Web服务器:负责解析HTTP规则,解析请求数据,并发送响应数据
概述
HTTP(HyperText Transfer Protocol),超文本传输协议,规定了浏览器和服务器之间数据传输的规则
HTTP协议有以下特点:
- 基于TCP协议:面向连接,并且安全
- 基于请求-响应协议模型:一次请求对应一次响应
- HTTP是无状态的协议,对于事务处理没有记忆能力,每次请求响应都是独立的
- 缺点:多次请求之间无法共享数据
- 有点:速度快
对于记忆性的问题,采用会话技术(Cookie,Session)来解决这个问题
请求数据格式
- 请求行:请求数据的第一行。包含:
- 请求方式:GET、POST等
- 资源路径
- 协议版本:HTTP/x.x
- 请求头:第二行开始,格式为key:value形式
- 请求体:POST请求的最后一部分,存放请求参数
常用请求头如下
| 请求头 | 含义 |
|---|---|
| Host | 请求的主机名 |
| User-Agent | 浏览器版本 |
| Accept | 浏览器能接收的资源类型 |
| Accept-Language | 浏览器偏好的语言 |
| Accept-Encoding | 浏览器支持的压缩类型 |
GET请求与POST请求的区别:
- GET请求的参数在请求行中,没有请求体;POST请求参数在请求体中
- GET请求参数大小有限;POST没有大小限制
响应数据格式
- 响应行:响应数据第一行,包括:
- 协议版本
- 响应状态码
- 状态码描述
- 响应头:第二行开始,格式为key:value形式
- 响应体:存放响应数据
常见HTTP响应头
| 响应头 | 含义 |
|---|---|
| Content-Type | 响应内容的类型 |
| Content-Length | 响应内容的长度(字节数) |
| Content-Encoding | 响应压缩算法 |
| Cache-Control | 指示客户端如何缓存 |

浙公网安备 33010602011771号