HTTP
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
-
文本:html,字符串.....
-
超文本:图片,音乐,视频,定位,地图
-
http:80端口
-
https:是 安全的 443 端口
两个时代
-
http1.0
-
http/1.0:客户端可以在web服务器连接后,只能获得一个web资源,之后断开连接
-
-
http2.0
-
http/1.0:客户端可以在web服务器连接后,获得多个web资源
-
请求
-
客户端--发起请求--服务器
百度
请求 URL: https://www.baidu.com/ //请求地址 请求方法: GET //get方法 还有post方法 状态代码: 200 OK //状态吗200 远程地址: 180.101.49.12:443 //远程地址和端口 443 引用站点策略: origin-when-cross-origin Accept: text/html Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,en-GB;q=0.6 Cache-Control: max-age=0 Connection: keep-alive
请求行
-
请求中的请求方式:get
-
请求方式:Get,Post,HEAD,DELETE,PUT,TRACT...
-
get: 请求能够携带的参数比较少,大小有限制, 会在url地址栏显示内容,不安全,但高效
-
post:请求能够携带的参数没有限制,大小没有限制, 会在url地址栏不显示内容,安全,但不高效
-
消息头
Accept: text/html //告诉浏览器 它支持的数据类型 Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,en-GB;q=0.6 //告诉语言环境 Cache-Control: max-age=0 //缓存控制 Connection: keep-alive //告诉浏览器 请求完成时端口还是保持连接
响应
百度
Cache-Control: private //缓存 控制 Connection: keep-alive //持续连接 Content-Encoding: gzip //编码 Content-Type: text/html;charset=utf-8 //类型
响应体
Accept: text/html //告诉浏览器 它支持的数据类型 Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,en-GB;q=0.6 //告诉语言环境 Cache-Control: max-age=0 //缓存控制 Connection: keep-alive //告诉浏览器 请求完成时端口还是保持连接 Refresh //告诉客户端多久刷新一次 Location: //让网页重写定位
响应状态码
200:请求响应成功 200
3xx: 请求重定向:你重新到我给你的位置去找
404:请求找不到资源:资源不存在 404
5xx:服务器代码错误 500 502(网关错误)
思考
当你的浏览器中地址栏输入地址的一瞬间到页面能够展示处理,经历了什么