4. Http
4.1 什么是Http
HTTP (超文本传输协议) 是一个简单的请求-响应协议,它通常运行在TCP之上。
- 文本:html,字符串,…
- 超文本:图片、音乐,视频,定位,地位
- 80
Https:安全的
- 443
4.2 两个时代
- http1.0
- HTTP/1.0:客户端可以与web服务器连接,只能获得一个web资源,断开连接
- http2.0
- HTTP/1.1:客户端可以与web服务器连接,可以获得多个web资源。
4.3 Http请求
- 客户端–发请求 Request–服务器
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET //get方法/post方法
Status Code: 200 OK //状态码:200
Remote Address: 14.215.177.38:443 //
Accept: text/htmlexchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
1. 请求行
- 请求行中的请求方式:GET
- 请求方式:GET/POST,HEAD, DELETE, PUT, TRACT
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的url地址栏显示数据内容,不安全,但高效
- post:请求能够携带的参数数量和大小没有限制,不会在浏览器的url地址栏显示数据内容,安全但不高效
2. 消息头
Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
HOST:主机 ..../.
4.4 Http响应
- 服务器–响应 Response—客户端
百度:
Cache-Control: private 缓存控制
Connection: keep-alive 连接:
Content-Type: text/html 类型
Content-Encoding:gzip 编码
1. 响应体
Accept: 告诉浏览器,它所支持的数据结构
Accept-Encoding: 支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
HOST:主机 ..../.
Refrush:告诉客户端,多久刷新一次
Location:让网页重新定位;
2. 响应状态码
200:请求响应成功 200
3xx:请求重定向
- 重定向:你重新到我给你的新位置
4xx:找不到资源 404
- 资源不存在
5xx:服务器代码错误 500 502:网关错误
常见面试题:
当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?