美文网首页
HTTP协议

HTTP协议

作者: Mokingc | 来源:发表于2019-11-05 15:11 被阅读0次

    HTTP协议

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议


    HTTP发展

    • HTTP 1.0 RFC-1945
    • HTTP 1.1 RFC-2616 持续请求
    • HTTP 2.0 RFC-7540 加密、头部压缩、服务器推送、管线操作、多路复用
    • HTTPS RFC-2818 安全协议

    HTTP工作原理

    HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:

    (1)客户与服务器建立连接;

    (2)客户向服务器提出请求;

    (3)服务器接受请求,并根据请求返回相应的文件作为应答;

    (4)客户与服务器关闭连接。

    状态码:

    • 1xx消息——请求已被服务器接收,继续处理
    • 2xx成功——请求已成功被服务器接收、理解、并接受
    • 3xx重定向——需要后续操作才能完成这一请求
    • 4xx请求错误——请求含有词法错误或者无法被执行
    • 5xx服务器错误——服务器在处理某个正确请求时发生错误

    请求方式

    • GET 获取
      数据放在url里面传输
      容量小于32k
    • POST 发送数据
      容量大

    网址组成

    1、协议      http, https(https 是加密的 http)
    2、主机      g.cn  zhihu.com之类的网址
    3、端口      HTTP 协议默认是 80,因此一般不用填写
    4、路径      下面的「/」和「/question/31838184」都是路径
    
    

    协议

    • 一个传输协议,协议就是双方都遵守的规范。
      • 1、浏览器(客户端)按照规定的格式发送文本数据(请求)到服务器
      • 2、服务器解析请求,按照规定的格式返回文本数据到浏览器
      • 3、浏览器解析得到的数据,并做相应处理
    • 请求和返回是一样的数据格式,分为4部分:
      • 1,请求行或者响应行
      • 2,Header(请求的 Header 中 Host 字段是必须的,其他都是可选)
      • 3,\r\n\r\n(连续两个换行回车符,用来分隔Header和Body)
      • 4,Body(可选)3、浏览器解析得到的数据,并做相应处理
    • 请求的格式,注意大小写(这是一个不包含Body的请求):

    • 原始数据如下
      'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'

    • 打印出来如下
      GET / HTTP/1.1
      Host: g.cn

    • 其中

      1, GET 是请求方法(还有POST等,这就是个标志字符串而已)
      2,/ 是请求的路径(这代表根路径)
      3,HTTP/1.1  中,1.1是版本号,通用了20年
      具体字符串是 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'
      
      返回的数据如下:
      HTTP/1.1 301 Moved Permanently
      Alternate-Protocol: 80:quic,p=0,80:quic,p=0
      Cache-Control: private, max-age=2592000
      Content-Length: 218
      Content-Type: text/html; charset=UTF-8
      Date: Tue, 07 Jul 2015 02:57:59 GMT
      Expires: Tue, 07 Jul 2015 02:57:59 GMT
      Location: http://www.google.cn/
      Server: gws
      X-Frame-Options: SAMEORIGIN
      X-XSS-Protection: 1; mode=block
      
      
    • 其中响应行(第一行):

      1,HTTP/1.1 是版本
      2,301 是「状态码」,参见文末链接
      3,Moved Permanently 是状态码的描述
      浏览器会自己解析Header部分,然后将Body显示成网页
      

    相关文章

      网友评论

          本文标题:HTTP协议

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