计算机网络:http

一、HTTP 工作过程

- 建立TCP连接

- 客户端发送HTTP请求报文

- 服务器向客户端发送HTTP响应消息

- 服务器关闭TCP连接

二、HTTP报文类型

在前面的文章中我们提到,HTTP报文格式有两种类型,分别为请求报文和响应报文。
请求报文是客户端发送给服务器端的,而响应报文是服务器端发送给客户端的。本篇内容就是介绍一下这两类报文的格式

三、HTTP请求报文

1、请求报文格式

请看例子:

 

 

 

(1)请求行:方法+空格+URI+空格+版本
URI:对资源的标识符
版本:HTTP的版本号。
(2)首部行:首部字段名+空格+值
(3)空行。
(4)HTTP报文的实体。实体前面的东西即请求行、首部行和空行是脑袋,它所起的作用是控制。要传输的东西是放在主体中。这也是很多协议所采用的结构方式

注意:在头部行下面需要有一个额外的回车换行来表示结束。若没有回车换行,则解析报文时会出错

2、请求方法类型

如下图所示

在版本HTTP/1.0中有三个重要的请求方法类型。
(1)GET:客户端向服务器端请求资源
(2)POST:把客户端的信息传送给服务器端
(3)HEAD:服务器收到请求时,用HTTP报文进行响应,但不返回请求对象,主要用在通信的控制操作领域。
在版本HTTP/1.1中除了上述三个还增加了PUT和DELETE方法。
(4)PUT:文件在实体主体中被上载到URL字段指定的路径。
(5)DELETE:删除URL字段指定的文件。

注:向服务器传送信息POST并不是唯一的方法,在当今应用中使用GET方法向服务器中传送数据是更常用的方法。因为可以把要传送的数据以参数的方式写在URL里,使用GET传送过去,这时服务器可以直接在URL里将相关参数提取出来,实现了和POST类同的方法。但是当传送大量数据时还是需要POST方法

三、HTTP响应报文

1、响应报文格式

 

 

 如上图所示,
(1)状态行:包括版本、状态码和短语。
(2)首部行:包含了重要的控制信息,依次为:
    不使用持久连接;
    data后面是时间;
    服务器的类型或者是Web服务器的版本;
    对象最近一次被修改的时间;
    对象的长度;
    对象的类型;
(3)回车换行;
(4)真正的数据。

posted @ 2020-11-02 20:02  南昌拌粉的成长  阅读(126)  评论(0编辑  收藏  举报