网络基础—— HTTP协议概述

Web资源与URI

Web服务器是Web资源的宿主,Web资源是Web内容的源头。最简单的Web资源就是存放在Web服务器文件系统中的静态文件。随着互联网的发展,所提供的服务也越来越丰富,静态资源已经满足不了用户的多样化需求了,需要根据用户需求动态生成相应资源。

为了让客户端可以指定想要访问的资源,我们需要为Web服务器资源设置统一资源标识符(URI),URI可以在世界范围内唯一标识并定位某个资源。

URL是URI的一种形式,意为统一资源定位符。它描述了特定服务器上某资源的特定位置,可以明确说明如何从一个精确、固定的位置获取资源。

URL大都遵循一下标准:

  • URL的第一部分称为方案,说明了访问资源所使用的协议类型,通常为http://https://
  • 第二部分给出了服务器的域名/IP地址和端口号(默认80),比如www.baidu.com
  • 其余部分指定的是URL的路径信息,比如 /static/images/aa.png

HTTP事务

一个完整的HTTP请求与处理过程称之为HTTP事务。一个HTTP事务由一条请求命令(从客户端发往服务器)和一个响应结果(从服务器发往客户端)组成。

HTTP报文

HTTP报文是由一行一行的简单纯文本字符串组成的,从Web客户端发往服务器的HTTP报文称为请求报文,相对的,从服务器发往客户端的报文称为响应报文:

请求报文和响应报文的格式类似,都由三部分组成:

  • 起始行:报文的第一行就是起始行,在请求报文中用来说明要做什么,在响应报文中用来说明出现了什么情况。
  • 首部字段:起始行后面有零个或多个首部字段,每个首部字段包含一个名字和对应的值,为了便于解析,两者之间用冒号分隔,在请求报文中我们将其称作请求头,在响应报文中我们将其称作响应头。
  • 主体:报文主体和首部字段之间通过一个空行隔开,请求主体中包含了要发送给web服务器的数据(一般POST请求都会包含请求主体,GET请求参数都在URL里面,请求主体一般为空),响应主体中包含了服务器返回给客户端的数据,一般是HTML文档或者JSON格式数据。

HTTP连接的建立

HTTP连接步骤如下:

  • 浏览器从URL中解析出服务器域名
  • 浏览器将服务器的域名替换为服务器的IP地址(通过DNS获取)
  • 浏览器将端口号从URL中解析出来(默认为80)
  • 浏览器建立一条与Web服务器的TCP连接;
  • 浏览器向服务器发送一条HTTP请求报文
  • 服务器收到浏览器请求后进行处理并回送一条HTTP响应报文
  • 浏览器收到响应后将其显示出来
posted @ 2020-08-24 17:44  _大可乐  阅读(138)  评论(0编辑  收藏  举报