第六章:HTTP协议

第一节: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断开

你可能感兴趣的:(第六章:HTTP协议)