1.HTTP
(1)概念:
Hyper Text Transfer Protocol,超文本传输协议规定了浏览器和服务器之间数据传输的规则。
(2)特点
- 基于TCP协议:面向连接,安全
- 基于请求-响应模型的:一次请求对应一次响应
- HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
1)缺点:多次请求间不能共享数据。
2)优点:速度快
2.请求
(1)含义
含义: 客户端向服务器发送消息。
(2)组成
1)请求行(请求方法 URL 协议/协议版本号)
URL组成:
URL(网址)=协议://主机地址(IP地址或域名):端口号/路径?参数名=参数值&参数名=参数值
面试题1:介绍一下http和https的区别?
| | http | https |
| 共同点 | 都是协议,都可以用来传输数据 ||
不同点 | * 不加密,不安全 * http端口号是80 | * 加密协议(公网使用) * https端口号是443 |
---|---|---|
[http和https的区别] |
面试题2:请求方法(get和post的区别)
| | get | post |
| 共同点 | 都可以向服务器发起请求,并且携带参数 ||
不同点 | * 参数放在浏览器的地址栏,可以看到不安全 * 参数长度有限制(浏览器的地址栏有长度限制) * 没有请求体 | * 参数放在请求体,需要抓包才可以看到,相对安全 * 参数长度无限制,可以传递任意数量的参数 |
---|---|---|
[get和post的区别] |
2)请求头
- 键值对的形式展示
- 客户端的属性信息
3)请求体(请求参数)
- name=value
- 如果有多个参数,用&连接
3.响应
(1)含义
含义: 服务器向客户端返回数据的过程。
(2)组成
**1)响应行:**协议/协议版本号 响应状态码 状态描述
面试题:响应状态码
| 2XX | 成功 |
| 3XX | 重定向 |
| 4XX | 客户端错误 |
5XX | 服务器错误 |
---|---|
[面试题:响应状态码] |
**2)响应头:**服务器的属性信息
3)响应体: 服务器返回的结果(图片\HTML\JSON\txt等等)
JSON:{'name1':'value1'}
未完待续。。。