网络那点事--浓缩的HTTP.

来源:互联网 发布:cad快速看图mac破解版 编辑:程序博客网 时间:2024/05/16 17:21

     我们经常会在浏览器地址栏中输入"http://",却从来没有思考它背后的意义,作为一个Web的开发人员,我们需要直到关于HTTP的那些事儿.


     HTTP(HyperText Transfer Protocol,超文本传输协议)是一种应用层协议,专门负责超文本的传输,用通俗的话来说就Web信息传输.HTTP由两部分组成:请求(Request)和响应(Respone).当输入一个URL,浏览器将根据这个URL创建并发送请求,请求中会携带一些信息,这些信息将是我们关注的焦点.而当服务器端接收到请求之后,也会返回同一个响应.

 

.HTTP请求

HTTP请求信息由3部分组成:请求行,消息报头,请求正文,请求的的格式:


<request-line><headers><blank line>[<request-body>]

请求行以一个方法符号开偶,以空格分隔,后面跟着请求的URL和协议的版本,格式如下:

Method Requset-URL  HTTP-Version CRLF

请求行各部分说明如下:


Method:表示请求方法,请求方法以大写形式显示.常用的请求方式有两种,Get--请求获取Request-URL所标识的资,POST-Request-URL所标识的资源后附加新的数据.

 

Request-URL:表示统一资源标识符

 

HTTP-Version :表示请求的HTTP协议版本.

 

CRLF:表示回车和换行,除了作为结尾的CRLF,不允许出现单独的CRLF字符.

 

请求行后是消息报头部分,用来说明服务器需要调用的附加信息.

 

在消息报头后是一个空行,然后才是请求正文部分,即称为主体部分(body).

 

.HTTP响应


HTTP响应也由3部分组成:状态行,消息报头,响应正文.HTTP响应格式如下:


<status-line><headers><blank line?[<response-body>]

其中状态行格式如下:


HTTP-Version Status-Code Reason-Phrase CRLF

状态行的个别说明该如下:


HTTP-Version:表示服务器HTTP协议的版本.


Status-Code:表示服务器发回的响应状态代码.


Reason-Phrase:表示状态代码的文本描述.

 

状态代码有3位数字组成,第一个数字定义响应的类别,且有5种可能取值:


1.1xx:指示信息.表示请求已接收,继续处理.


2.2xx:成功,表示请求已被成功接收,继续处理.


3.3xx:重定向.要完成请求必须进行更进一步的操作.


4.4xx:客户端错误,请求有语法错误,或者请求无法实现.


5.5xx:服务器端错误.服务器未能实现合法的请求.


原创粉丝点击