目录
1.1 什么是HTTP
HTTP (超文本传输协议) 是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。
有超文本,那肯定也有文本,简单解释一下文本和超文本。
- 文本:html,字符串 …
- 超文本:图片,音乐,视频,定位,地图 …
HTTP的默认端口是80
HTTPS:
HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。
HTTPS的默认端口是443
1.2 两个时代
- http1.0
http/1.0 :客户端可以与web服务器连接后,只能获得一个web资源,断开连接。
- http2.0
http/1.1:客户端可以与web服务器连接后,只能获得多个web资源。
1.3 Http请求
- 客户端—发请求(Request)—服务器
百度(https://www.baidu.com/)为例看一下:
General
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET get方法
Status Code: 200 OK 状态码:200
Remote Address: 180.101.49.11:443 远程地址
Referrer Policy: strict-origin-when-cross-origin
Request Headers
Accept: text/html
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 …
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的url地址栏显示数据内容,不安全,但高效。
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的url地址栏显示数据内容,安全,但不高效。
2、消息头
Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持那种编码格式 GBK UTF-8 GB2312
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
Host: 主机..../.
1.4 Http响应
- 服务器—响应----客户端
百度
Response Headers
Cache-Control: private 缓存控制
Connection: keep-alive 连接
Content-Encoding: gzip 编码
Content-Type: text/html;charset=utf-8 类型
1、响应体
Accept: 告诉浏览器,它所支持的数据类型
Accept-Encoding: 支持那种编码格式 GBK UTF-8 GB2312
Accept-Language: 告诉浏览器,它的语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完成是断开还是保持连接
Host: 主机..../.
Refresh: 告诉客户端,多久刷新一次
Location: 让网页重新定位
2、响应状态码
200:请求响应成功 200
3xx:请求重定向
- 重定向:你重新到我给你的新位置去
4xx:找不到资源 404
- 资源不存在
5xx:服务器代码错误 500
- 502:网关错误