应用层——HTTP 协议

本文深入探讨了HTTP协议,包括其无连接和无状态特性,请求报文和响应报文的结构,以及HTTP/1.1的持续连接与流水线方式。还介绍了HTTP状态码、Cookie与Session的机制,以及HTTP各版本的特点,如HTTP/1.1的持久连接和HTTPS的安全性。
摘要由CSDN通过智能技术生成

1. 概述

超文本传送协议 HTTP 是一个应用层协议,HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输。 HTTP 不必考虑数据在传输过程中被丢弃后又怎样被重传。但是,HTTP 协议本身是无连接的。这就是说,虽然 HTTP 使用了 TCP 连接,但通信的双方在交换 HTTP 报文之前不需要先建立 HTTP 连接。

HTTP 协议是无状态的。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同(假定现在服务器还没有把该页面更新),因为服务器并不记得曾经访问过的这个客户,也不记得为该客户曾经服务过多少次。 HTTP 的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的 HTTP 请求。

请求一个万维网文档所需的时间是该文档的传输时间(与文档大小成正比)加上两倍往返时间 RTT (一个 RTT 用于连接 TCP 连接,另一个 RTT 用于请求和接收万维网文档 )。HTTP/1.1 协议使用了持续连接,万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。

HTTP/1.1 协议的持续连接有两种工作方式,即非流水线方式(without pipelining)和流水线方式(with pipelining) 。非流水线方式的特点,是客户在收到前一个响应后才能发出下一个请求。因此,在 TCP 连接已建立后,客户每访问一次对象都要用去一个往返时间 RTT。流水线方式的特点,是客户在收到 HTTP 的响应报文之前就能够接着发送新的请求报文。于是一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。

2. HTTP 的报文结构

2.1 请求报文

在这里插入图片描述
CRLF 表示回车换行,回车表示光标回到本行开始,换行表示到达下一行。

举例:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值