-
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上
- 文本:html,字符串…
- 超文本:图片、音乐、视频、定位、地图…
- HTTPS:安全的
-
两个时代:
- http1.0
- HTTP/1.0:客户端与web服务器连接后,只能获得一个web资源,断开连接
- http2.0
- HTTP/1.1:客户端与web服务器连接后,可以获得多个web资源。
- http1.0
-
http请求
-
客户端----发请求(request)----服务器
百度:
Request URL: https://www.baidu.com/ 请求地址 Request Method: GET get方法/post方法 Status Code: 200 OK 状态码200 Remote(远程) Address: 183.232.231.174:443
Accept: text/html Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9,zh-TW;q=0.8 语言 Cache-Control: max-age=0 Connection: keep-alive
-
请求行
- 请求行中的请求方式:get
- 请求方式:post、get、head、delete、put、tract
- get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效
- post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但是不高效
-
消息头
Accept:所支持的数据类型 Accept-Encoding:支持的编码格式 Accept-Language:语言环境 Cache-Control:缓存控制 Connection:请求完成是断开还是保持连接 HOST:主机
-
-
http响应
-
服务器----响应----客户端
百度:
Cache-Control: private 缓存控制 Connection: keep-alive 保持连接 Content-Encoding: gzip 编码 Content-Type: text/html; 类型
-
响应体
Accept:所支持的数据类型 Accept-Encoding:支持的编码格式 Accept-Language:语言环境 Cache-Control:缓存控制 Connection:请求完成是断开还是保持连接 HOST:主机 refresh:多久刷新一次 location:网页重新定位
-
响应状态码
200:请求响应成功
3**:请求重定向
4**:找不到资源
5**:服务器代码错误500 502网关错误
-
面试题:
当你在浏览器中输入地址并回车的一瞬间到页面展示出来,经历了什么?
-
域名解析
-
发起TCP的三次握手
-
建立起TCP连接后发起http请求
-
服务器响应http请求,浏览器得到html代码
-
浏览器解析html代码,并请求html代码中的资源(css JavaScript 图片)
-
浏览器对页面进行渲染呈现
参考:https://www.sohu.com/a/342188585_669829
-
-