HTTP协议,全称为HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是WWW服务。设计HTTP协议最初的目的就是提供一种发布和接受HTML(一种页面标记语言)页面的方法。
WWW是环球信息网的缩写,常简称为Web。 分为Web客户端和Web服务器程序。WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面。 是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个事物,称为一样“资源“;并且由一个全局“统一资源标识符”(URI)标识;这些资源通过超文本传输协议,传送给用户,而后者通过点击链接来获得资源。
通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方式将信息以Internet传递到世界各处去。与其他服务器类似,当你连接上www网站,该网站肯定会提供一些数据,而你的客户端则必须要使用可以解析这些数据的软件来处理,那就是浏览器。
URL:Uniform Resource Locator,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。
1).请求行
请求行分为三个部分:请求方法、请求地址和协议版本
2).请求头部
请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。
3).请求数据
可选部分,比如GET请求就没有请求数据。
HTTP响应报文主要由状态行、响应头部、空行以及响应数据组成。
1).状态行
由3部分组成,分别为:协议版本,状态码,状态码描述。
其中协议版本与请求报文一致。
状态码为3位数字:
下面是几个常见的:
2).响应头部
与请求头部类似,为响应报文添加了一些附加信息
3).响应数据
用于存放需要返回给客户端的数据信息。
下面是一个请求报文和响应报文的例子:
分析:
客户端在浏览器输入链接,通过报文形式发送,
请求报文包括:
1、请求方法 get
2、请求地址 /test/hi-there.txt
3、 协议版本信息 HTTP/1.0
4、指定文件的类型 Accept: text/*
5、文件的语言标准格式 Accept-Language: en,fr
6、空白行
请求报文发过去后,服务端做响应,发送响应报文
响应报文包括 :
1、协议版本信息,服务端版本高与客户端版本,可以向下兼容,匹配 成功。但客户端高于服务端版本就不一定了
2、状态值 200 OK 是正常响应,如果是404就是请求资源不存在。
3、响应的资源文件类型 Content-type: text/plain
4、响应资源文件的长度 Content-length: 19
5、空白行
6、主体部分,即请求资源文件的内容信息 Hi! I’m a message!