Chapter2 简单HTTP协议

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 的跨平台性能极佳,几乎可以在任何操作系统上实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值