HTTP协议简要

HTTP协议简要

HTTP协议是指超文本传输协议,简单来讲就是一种规则,容许将HTML文档从Web服务器传送到Web浏览器。php

HTTP请求

HTTP请求包括三部分:请求行(请求方法),请求头(消息报头)和请求正文。html

例如:POST   /login.php HTTP/1.1                     //请求行浏览器

   HOST:www.xxser.com            //请求头服务器

     User-Agent::Mozilla/5.0  (Windows NT 6.1; rv:15.0)  Gecko/20100101 Firefox/15.0cookie

                              //空白行,表明请求头结束多线程

     Username=admin&password=admin      //请求正文编码

请求行又能够分为三部分,一个是POST请求,一个是在域名根目录下的login.php里,还有一个是说明使用的是HTTP1.0版本;线程

请求头是第二行到空白行,HOST表明请求的地址,User-Agent(简称UA)是浏览器UA标识;htm

请求正文这一行最常出如今POST请求当中,并且可选。资源

HTTP响应

HTTP响应包括三部分:响应行,响应头(消息报头)和响应正文。

通常HTTP响应的第一行为响应行,其中有HTTP版本,状态码以及消息;第二行到空白行是响应头,是服务器发给客户端的;最后是响应正文,是服务器向客户端发送的HTML数据。

 HTTP状态码

HTTP协议中的状态码通常由三位数字组成,第一位数字定义了相应的类型,只有五种。

1XX:请求已被成功接收,继续处理,范围100~101。

2XX:成功,服务器成功的处理了请求,范围200~206。

3XX:重定向,资源已经被移动,而且会告诉新的资源位置,浏览器从新访问。范围300~305。

4XX:客户端错误状态码,最多见的是请求了一个不存在URL,范围400~415。

5XX:Web服务器自身出错,服务器内部有问题。范围500~505。

常见的状态码有:

200:客户端请求成功。

302:从新定向。

400:客户端请求有语法错误,不能被服务器理解。

401:服务器请求未经受权。

403:服务器接收到了请求,可是拒绝提供服务。

404:访问资源不存在。

500:服务器内部出错。

503:当前服务器不能处理请求,请稍后再试。

HTTP消息

HTTP消息也叫HTTP头,分四部分,一是请求头,二是响应头,三是普通头,四是实体头。

请求头

请求头只出如今HTTP请求中,经常使用的HTTP请求头以下。

Host:用于指定请求资源的主机和端口号。

User-Agent:浏览器UA标识,能够向服务器显示用的浏览器和系统信息。

Referer:显示用户是从什么界面来到本界面的。例如:Referer:www.xxser.com/login.php。表示用户是从login.php界面来到本界面的。至关于一个显示上个页面的URL。

Cookie:一段文本,很重要,表示请求者身份。

Range:请求实体的部份内容,多线程下载含有Range头。

x-forward-for:表明请求端的IP。

Accept:指定客户端接受哪些类型的信息。例如:Accept:text/html,代表客户端但愿接受HTML文本。

响应头

是服务器根据请求向客户端发送的HTTP头。常见的HTTP头以下。

Server:服务器使用的Web服务器的名称。

Set-cookie:向客户端设置Cookie,经过这个能够查看到服务器发送给客户端的Cookie信息。

Last-Modified:能够看到资源修改的最后时间。

Location:服务器经过这个告诉浏览器访问什么页面,一般配合302状态码使用。

Refresh:服务器经过这个告诉浏览器定时刷新浏览器。

实体头

请求和响应都能传送一个实体头。

Content-Type:向接收方指示实体的介质类型。

Content-Encoding:被用做媒体类型的修饰符,这个值指示了已经被应用到实体正文的附加内容的编码。

Content-Length:用于指明实体正文的长度,以字节方式储存的十进制数字来表示。

Last-Modified:用于指示资源的最后修改日期和时间。

相关文章
相关标签/搜索