HTTP概念
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP上。
- 文本:html、字符串
- 超文本:图片、音乐、视频、定位、地图
- 默认端口:80
HTTPS:(security)
- 默认端口:443
HTTP两个时代
- http1.0
- HTTP/1.0:客户端与web服务器连接后,只能获得一个web资源,断开连接
- http2.0
- HTTP/1.1:客户端与web服务器连接后,可以获得多个web资源
HTTP请求
客户端---发请求(Request)---服务器
百度:
- 地址:远程地址
- 请求地址:www.baidu.com/
- 方法:GET
- 状态码:200
| Accept | text/html |
| Accept-Encoding | gzip, deflate, br |
| Accept-Language | zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 语言 |
| Connection | keep-alive |
- 请求行
- 请求行中的请求方式:GET
- 请求方式:Get、Post、HEAD、DELETE、PUT、TRACT
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效
- 消息头
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式 GBK、UTF-8、GB2312、ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机
HTTP响应
服务器---响应---客户端
百度:
| Connection | keep-alive 保持连接 |
| Content-Encoding | gzip |
| Content-Type | text/html; charset=utf-8 编码类型 |
- 响应体
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式 GBK、UTF-8、GB2312、ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机
Reflush:告诉客户端,多久刷新一次
Location:让网页重新定位
- 响应状态码
- 200:请求响应成功
- 3xx:请求重定向
- 重定向:你重新到我给你的新位置去
- 4xx:找不到资源 404
- 资源不存在
- 5xx:服务器代码错误 500、502(网关错误)
常见面试题:
当你在浏览器地址栏中输入地址并回车的一瞬间到页面能够展示回来,经历了什么?