美文网首页
第六章:HTTP协议

第六章:HTTP协议

作者: chenkang | 来源:发表于2019-10-16 12:06 被阅读0次

    第一节: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协议

          本文链接:https://www.haomeiwen.com/subject/mlwymctx.html