第一节:HTTP协议:超文本传输协议
1.URL(链接)预备知识
URL: http:// www.xuliangwei.com:80 /bgx/1360.html
协议 域名:端口(默认是80,不显示) 文件及其路径
协议:
域名:
端口:
文件路径
查询:
URL:就是用来标识互联网上某个服务上的某个资源.
Url Html Http 之间的关系是?
一个完整的HTML页面是由N多个Url地址资源组成的,而Http协议是用来传输这种Html文件的。
2.http工作原理(重要)
DNS-TCP-HTTP (面试必须的协议)
DNS解析 TCP 连接 HTTP请求
3.http请求(客户端)
客户端向服务端发送请求分为如下两种方式:
GET 获取数据, 朋友圈我只看, GET 获取别人的资源
POST 提交数据, 朋友圈我只发, POST 提交数据到服务器
DELETE 删除数据, 朋友圈清理所有历史发送过的文字\图片
4.http协议版本
http1.0协议 短连接, 一次TCP连接,仅能发起一次请求, 建立35次tcp链接, http请求35次
http1.1协议 长链接, 一次TCP连接,可以发多次请求, 建立一次连接,然后发送35次http请求
http2.0协议 https会使用到
http3.0协议
第二节:HTTP请求信息
1.基本的信息
Request URL: http://10.0.0.7/ #请求的服务器地址
Request Method: GET #请求的方法 GET POST
Status Code: 200 OK #返回的状态码(三位数字组成的)
Remote Address: 10.0.0.7:80 #与服务器IP的哪个端口建立链接
2.Request Heads请求的头部信息
Accept: text/html #请求资源类型
Accept-Encoding: gzip, deflate #请求资源压缩
Accept-Language: zh-CN,zh;q=0.9 #请求资源语言
Cache-Control: no-cache #缓存控制-->no-cache没有缓存
Connection: keep-alive #保持链接,长链接
Host: 10.0.0.7 #请求的域名
Pragma: no-cache #请求的参数,没有缓存
Upgrade-Insecure-Requests: 1 #http和https之间起的一个过渡作用
User-Agent: Mozilla/5.0 #请求的设备
3."=== 请求一个空行 ==="
第三节:http响应(服务端)
1.返回Heads头部信息
Connection: Keep-Alive #保持链接,长连接
Date: Mon, 27 May 2019 03:16:05 GMT # +8小时GMT
ETag: "a49-56b5ce607fe00" #忽略
Keep-Alive: timeout=5, max=100 #保持链接,超时时间5s,最大时间100s
Server: Apache/2.4.6 (CentOS) PHP/5.4.16 #服务器使用的WEB软件是
2.返回状态码 Status Code
200 OK #页面返回正常
301 永久跳转 http->https
302 临时跳转 http->https
304 Not Modified 走本地缓存
400
401 Authorization Required
403 Forbidden 找不到默认的主页,或没权限
404 Not Found 找不到页面
500 内部错误 程序-->mysql链接失败,或者权限
502 Bad Gateway 找不到后端的主机(出现的最多最多的)
503 服务器当前无法处理请求,但只是临时的
504 网关超时
3."=== 返回一个空行 ==="
4.返回主体 (真实的内容)
5.http额外Heads信息
User-Agent: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息
Server:响应头包含处理请求的原始服务器的软件信息
Referer:浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL。
Location:WEB服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取
6.http术语
pv 页面浏览量 最大
uv 独立客户端设备 其次
ip 独立的公网IP 最小
并发 同时访问 (10s 500pv) --> 一天能有多少p
第四节:http总结
url->html->http协议传递
http工作原理
浏览器跳转
DNS解析
DNS返回
TCP链接
HTTP请求
请求的Headers信息
1.请求的域名
2.请求的路径
3.请求的方法 GET
4.请求的协议 http1.1 http1.0
5.请求的参数
缓存
压缩
语言
....
HTTP响应
响应的Headers信息
1.响应状态码
200,301,302,304,400,401,403.404,500,502,503,504
2.响应的参数
缓存
location 你应该访问重新去哪个url地址
server 服务端软件
3.响应的空行 ---
4.响应的主体 内容
TCP断开