Http
1、什么是 http
http:
- 超文本传输协议
- 文本:例如 html、字符串、等等
- 超文本:图片、视频、音乐、等等
- 一个简单的请求-响应协议
- 通常运行在TCP之上
- 默认端口为 80
- 不安全
2、http 两个时代
- htp1.0
- HTTP/1.0:客户端可以与 web 服务器连接后,只能获取一个 web 资源,第二次请求,服务器就不会接收连接,请求不到就会断开连接
- http2.0
- HTTP/2.0:客户端可以与 web 服务器连接后,恶意获取多个 web 资源
3、Http 请求
- 服务器 —请求—> 服务器
3.1 请求行
- 请求行中的请求方式:GET
- 请求方式:GET、POST、HEAD、DELETE、…
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的 URL 地址栏中显示数据内容,不安全,但高效
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的 URL 地址栏中显示数据内容,安全,但不比 get 高效
3.2 消息头
- Accept:告诉浏览器,网站所支持的数据类型
- Accept-Encoding::支持的编码格式 UTF-8、GBK、等等
- Accept-Language:支持的语言环境
- Cache-Control:缓存控制
- Connection:请求完毕是断开还是保持连接
- HOST:主机
4、Http 响应
- 服务器 —响应—> 客户端
4.1 响应体
- Accept:支持的数据类型
- Accept-Encoding::支持的编码格式 UTF-8、GBK、等等
- Accept-Language:支持的语言环境
- Cache-Control:缓存控制
- Connection:请求完毕是断开还是保持连接
- HOST:主机
- Refresh:告诉客户端,多久刷新一次
- Location:让网页重新定位
4.2 响应状态码
- 200:请求响应成功
- 3xx:请求重定向
- 重定向:给你一个新的位置,你过去
- 4xx:
- 404:资源不存在
- 5xx:
- 500:服务器代码错误
- 502:网关错误
常见面试题(重要)
- 404:资源不存在
- 5xx:
- 500:服务器代码错误
- 502:网关错误
常见面试题(重要)
当你在浏览器中的地址栏输入地址并回车的一瞬间到页面能够展示,这过程经历了什么?