1、Http概述
1.1 基础知识
Http(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
-
文本:html,字符串,…
-
超文本:图片,音乐,视频,定位,地图…
-
80吧
Https:安全的
- 443
1.2 两个时代
- http1.0
- HTTP/1.0:客户端可以与web服务器连接,只能获得一个web资源,随后会断开连接,如果还需要资源需要再次请求。
- http2.0
- HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。
2、Http请求
Http请求与响应通用:(General)
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET get方法/post方法
Status Code: 200 OK 状态码:200
Remote Address: 220.181.38.150:443 远程地址
Referrer Policy: origin-when-cross-origin
客户端–发请求(Request)–服务器:
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 语言
Cache-Control: max-age=0
Connection: keep-alive
...
2.1 请求行
- 请求行中的请求方式:GET
- 请求方式:Get, Post, Head, DELETE, PUT, TRACT…
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据安全,不安全,但高效。
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
2.2 消息头
-
Accept:告诉浏览器,它所支持的数据类型
-
Accept-Encoding:支持哪种编码格式 GBK、UTF-8、GB2312 、ISO8859-1
-
Accept-Language:告诉浏览器,它的语言环境
-
Cache-Control:缓存控制
-
Connection:告诉浏览器,请求完成后是断开还是保持连接
3、Http响应
服务器–响应–客户端:
Cache-Control: private 缓存控制
Connection: keep-alive 连接:保持连接
Content-Encoding: gzip 引擎
Content-Type: text/html;charset=utf-8 编码
...
3.1 响应体
- Accept:告诉浏览器,它所支持的数据类型
- Accept-Encoding:支持哪种编码格式 GBK、UTF-8、GB2312 、ISO8859-1
- Accept-Language:告诉浏览器,它的语言环境
- Cache-Control:缓存控制
- Connection:告诉浏览器,请求完成后是断开还是保持连接
- Refresh:告诉客户端,多久刷新一次
- Location:让网页重新定位
3.2 响应状态码
200:请求响应成功 300
3**:请求重定向(定向到服务器赋予的位置!)
4xx:找不到资源(资源不存在)404
5xx:服务器代码错误 500 502:网关错误
常见面试题:
当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?