HTTP,超文本传输协议(Hyper Text Transfer Protocol),是互联网应用最广泛的一种网络协议。HTTP基于 TCP/IP 协议之上的应用层协议,自身是无状态无连接的,默认端口为80。
浏览器和服务器之间,使用的就是这种HTTP协议。当我们在浏览器的地址栏输入一个地址的时候,希望访问服务器的某个页面。这个过程其实是两个应用程序之间的交互,一个应用程序是客户端浏览器,另一个应用程序则是web服务器。通过HTTP协议,即通信双方事先做好的通信约定,浏览器和服务器之间就可以读懂彼此的意思,进行数据的通信。
HTTP分为两个部分,即请求和响应。
HTTP请求
HTTP请求消息由请求行,请求头部,空行和请求数据组成。
-
HTTP请求行,主要包括请求方法,请求url和HTTP协议及版本。在请求方法中,最常用的是的 GET 和 POST 方法;
-
HTTP请求头部,主要提供了如下的信息:
Host: 请求的目的地 User-Agent: 浏览器的基本信息 Accept: 浏览器可接受的响应类型 Accept-Language: 浏览器的默认语言 Accept-Encoding: 浏览器能够进行解码的数据编码方式 Referer: 包含一个url,表示用户从该url出发访问当前页面 Connecton:是否保持连接
-
HTTP请求数据,显示着本次提交数据所传递的参数。
HTTP响应
HTTP响应信息由状态行,消息报头和响应正文构成的。
-
状态行中有一个重要的概念就是响应代码,2为响应成功,3为客户端跳转,4**为客户端请求错误,5 **为服务器错误。
-
消息报头主要提供了如下的信息:
Content-Length: 表示长度 Content-Type: 内容格式 Date: 日期 Server: 服务器类型
-
响应正文有很多种,包括html,或者是css,js,图片等其他内容。