4、Http
4.1、什麽是HTTP
HTTP(超文本传输协议)适宜个简单的请求-响应协议,它通常运行在TCP之上。
- 何谓TCP:
传输控制协定(Transmission Control Protocol,TCP)是一种具有连接导向、可靠地、基于位元组流的传输层通信协定。 - 文本:html,字串符,
- 超文本:图片,音乐,视频,地图定位等等
- 默认端口:
Http:80端口
Http:443端口(较安全)
4.2、两个时代
- http 1.0
HTTP/1.0:客户端可以与Web服务器连接,只能获得一个Web资源,断开连接,若需要其他Web资源则需重新连接。 - http 2.0
HTTP/2.0:客户端可以与Web服务器连接,可以获得多个Web资源。
4.3、Http请求
- 客户端→发请求→服务器
- 以百度为例
- HTTP请求行
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET 请求方法:GET/POST
Status Code: 200 OK http状态码
Remote Address: 103.235.46.39:443 百度的域名地址
- HTTP请求头
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7 语言
Cache-Control: max-age=0
Connection: keep-alive
1、请求行
- 请求行中的请求方式:GET
- 请求方式:GET/POST,Restful风格的有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响应
- 服务器→返回响应→客户端
- 以百度为例
Cache-Control: private 缓存控制
Connection: Keep-Alive 连接情况:保持连接
Content-Encoding: gzip 编码
Content-Type: text/html;charset=utf-8 类型
1、响应体
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式 GBK,UTF-8,GB2312,ISO8859-1
Accept-Language:告诉浏览器它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成为断开还是保持连接
HOST:主机...等
Refresh:告诉客户端,多久刷新一次
Location:让网页重新定位
2、响应状态码(重点块)
200:请求响应成功
3xx:请求重定向
- 重定向:你重新到我给你的新位址。
404:找不到资源
- 资源不存在
5xx:服务器代码错误
- 500,服务器内部错误,无法完成请求
- 501,服务器不支持请求的功能
- 502,服务器网关或代理尝试执行请求时,收到无效的响应
- 503,服务器暂时无法处理请求或延时
常见面试题:
当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什麽?
这问题学完后要反问自己,尝试将这个比做为一个故事去叙述