网络应用层——http协议

来源:互联网 发布:新三板最新数据 编辑:程序博客网 时间:2024/05/23 13:28

    HTTP (HyperText Transfer Protocol 超文本传输协议) 基于 TCP,使用端口号 80 或 8080

    每当你在浏览器里输入一个网址或点击一个链接时,浏览器就通过 HTTP 协议将网页信息从服务器提取再显示出来,这是现在使用频率最大的应用层协议。

    这个原理很简单:

  •     点击一个链接后,浏览器向服务器发起 TCP 连接;
  •     连接建立后浏览器发送 HTTP 请求报文,然后服务器回复响应报文;
  •     浏览器将收到的响应报文内容显示在网页上;
  •     报文收发结束,关闭 TCP 连接。

    HTTP 报文会被传输层封装为 TCP 报文段,然后再被 IP 层封装为 IP 数据报。HTTP 报文的结构:

   

    可见报文分为 3 部分:

  •     开始行:用于区分是请求报文还是响应报文,请求报文中开始行叫做请求行,而响应报文中,开始行叫做状态行。在开始行的三个字段之间都用空格分开,结尾处 CRLF 表示回车和换行。
  •     首部行:用于说明浏览器、服务器或报文主体的一些信息。
  •     实体主体:请求报文中通常不用实体主体。

    请求报文的方法字段是对所请求对象进行的操作,而响应报文的状态码是一个 3 位数字,分为 5 类 33 种:

  •     1xx 表示通知信息,如收到或正在处理。
  •     2xx 表示成功接收。
  •     3xx 表示重定向。
  •     4xx 表示客户的差错,如 404 表示网页未找到。
  •     5xx表示服务器的差错,如常见的 502 Bad Gateway。   

1 0