美文网首页我爱编程
HTTP协议基础# Chapter2 简单HTTP协议

HTTP协议基础# Chapter2 简单HTTP协议

作者: 胡小禾 | 来源:发表于2018-02-04 15:22 被阅读0次

    Chapter2 简单HTTP协议

    • HTTP协议:::适用于客户端和服务器端之间的通信
    • 使用HTTP协议通信的同一条线路上的两台计算机,必然一台是客户端,一台是服务器端

    1 通过请求、响应通信

    • HTTP协议:::必须从客户端开始建立通信,服务器端在没有接受到请求之前不会发送响应
      • 请求报文


        请求报文.png
      • 响应报文


        响应报文.png

    2 HTTP是无状态的协议

    基于HTTP协议,每次有新的请求,都会产生新的响应。协议本身不会保留之前一切的请求或响应报文的信息。

    3 请求URI定位资源

    • GET(客户端从服务器“取”)
      访问已经被URI识别的资源。 指定的资源经服务器解析后返回响应内容。若请求是文本,保持原样返回;若是CGI,返回执行后的结果
    • POST
      传输实体的主题(客户端“给”服务器)
    • PUT
      传输文件
      本身没有验证机制,一般不使用这个方法。若配合web的验证机制,或采用REST标准,可能开放(representational state transfer)
    • HEAD
      拿报文首部,同GET,但无报文主体。用于确认URI有效性及资源更新日期
    • DELETE
      删除文件
      与PUT相反。也需要配合其他验证机制
    • OPTIONS
      查询针对URI指定资源支持的方法
    • TRACE(极少用)
      追踪路径
    • CONNECT
      要求使用隧道协议连接代理
      在与代理服务器通信时建立隧道,用SSL(secure socket layer安全套接字)、TLS(transport layer Security 传输层安全)将通信内容加密后经网络隧道传输。

    4 持久连接

    HTTP协议 早期,每个请求都要重新建立一起TCP连接
    后来,HTTP1.1 默认使所有连接为“持久连接”(HTTP keep-alive),只要任意一方没有明确要断开 连接,则保持TCP连接状态(注意,保持的是TCP连接状态)

    一次TCP连接多次请求响应.png

    5 管道(pipelining)

    可以同时并行发送多个请求,而不需要一个接一个等待响应

    6 基于cookie的状态管理

    HTTP无状态,不对之前发生的请求响应状态进行管理,无法根据之前的状态进行本次的请求处理。
    cookie:::同时在请求、响应报文中写入Cookie信息控制客户端状态。
    首先服务器发送的响应报文中带有Set-cookie首部字段,通知客户端保持Cookie,下次客户端再往该服务器发送请求时,自动在请求报文加入Cookie。


    • 拓展

    CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器(tomcat)执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。

    相关文章

      网友评论

        本文标题:HTTP协议基础# Chapter2 简单HTTP协议

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