HTTP协议请求响应报文相关介绍

本文解析了HTTP协议的工作原理,强调了其作为应用层协议如何与TCP/IP配合,特别介绍了HTTP的短连接特性、HTTP/1.1的Keep-Alive机制,并详细讲解了HTTP请求报文和响应报文的构成。
摘要由CSDN通过智能技术生成

1.相关概念  

1.1  TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据;

1.2  HTTP协议是基于TCP之上的,当浏览器须要从Server获取网页数据的时候,会发出一次HTTP请求。HTTP会通过TCP建立起一个到server的连接通道。当本次请求须要的数据完成后,HTTP会马上将TCP连接断开,这个过程是非常短的。所以HTTP连接是一种短连接,是一种无状态的连接。所谓的无状态,是指浏览器每次向Server发起请求的时候,不是通过一个连接,而是每次都需要建立一个新的连接;

1.3  我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等;

1.4 HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送响应的信息给客户端或浏览器;

注意:浏览器给服务器发送数据是一次请求(request)。服务器给浏览器反馈数据是一次响应(response);

 2.HTTP报文

  1. 协议是用来定义数据传输的格式,那么按照一定格式形成的数据包即报文,也可以叫数据报;
  2. HTTP 报文分三个部分:起始行(请求行 - 响应行/状态行),头部(请求头/消息 - 响应头/消息头),主体(请求体/实体内容 - 响应体/实体内容);
  3. HTTP 报文分为请求报文和响应报文;

 HTTP请求报文,包括如下:

说明:

  1. 请求方法(也叫请求方式)有很多,后期需要掌握Get和Post两种即可;
  2. URL(Uniform/Universal Resource Locator)是统一资源定位符,俗称请求网址。URI(Uniform Resource Identifier) 是统一资源标识符,俗称请求资源路径。http://localhost:8080/myweb/hello.html以上web地址,加粗部分+非加粗部分=URL。非加粗部分=URI;
  3. 与Http1.0不同(连接一次,请求一次,响应一次。响应完毕,马上断开连接。如果还需要请求,需要重新连接),从HTTP/1.1(连接一次,请求多次,响应多次)起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完毕后。client和server之间用于传输HTTP数据的TCP连接不会关闭,假设client再次訪问这个server上的网页,会继续使用这一条已经建立的连接。但Keep-Alive不会永久保持连接。它有一个保持时间。能够在不同的server软件(如Apache)中设定这个时间;
  4. 部分消息头:
  • Accept:告诉服务器能够发送哪些媒体类型;
  • Referer:告诉服务器该网页是从哪个页面链接过来的;
  • Accept-Language:告诉服务器能够发送哪些语言;
  • User-Agent:告诉网站服务器,访问者是通过什么工具来请求的,如果是爬虫请求,一般会拒绝,如果是用户浏览器,就会应答;
  • Host:HTTP 1.1 协议中新增的一个请求头,主要用来实现虚拟主机技术。同一台服务器部署多个服务,可以依靠虚拟主机来区分,而Host 请求头决定着访问哪个虚拟主机;
  • Content-type:用于描述该请求来自于表单默认的提交数据的格式(application/x-www-form-urlencoded);
  • Connection:为keep-alive在很多情况下能够重用连接,减少资源消耗,缩短响应时间。所以在HTTP1.1中缺省就是支持keep-alive的;
  • Content-Length:用于描述HTTP消息实体的传输长度;
  • Cookie:客户端用它向服务器传送一个令牌。注意它并不是真正的安全首部,但确实隐含了安全功能;

  HTTP响应报文,包括如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会理财的程序员不是好摄影师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值