http协议

http协议包含两个部分:请求和回应。请求就是URL+浏览器自身的一些信息。服务器接受这个请求后,发出回应,回应包含关于请求的信息和URL的地址里面包含的数据(如果有的话)。接下来由浏览器解读回应,显示页面。

HTTP请求格式:

<request-line>请求的类型,读取的资源,HTTP的版本

<headers>服务器所需的附加信息

<blank line>

[<request-body>]

 

HTTP请求例子:

    GET :tell the server to get the resource and send it back;

      GET的请求格式:

        GET / HTTP/1.1 ----第一个/,说明请求是对于域名的根目录;最后的部分说明使用HTTP版本1.1<request-line>

        HOST:www.wrox.com-----说明请求发送的目的地<headers>

一二行加起来,说明请求是针对路径www.wrox.com/.Host Headerd 是HTTP1.1必须的,HTTP1.0不需要。如果路径是www.wrox.com/books,那么GET /books/  HTTP/1.1。发送参数时需要另外的信息。URL?name=value$name2=value2&..nameN=valueN,\这个信息叫做query string,GET /books/?name=Professinal%20Ajax HTTP/1.1,"Professinal Ajax "为通过URL发送被编码,%20代替空格,这叫做URL编码。这种编码被用到HTTP的许多部分,(Javascript有函数处理URL编码和解码)数值对用&分开,服务器端技术会自动解码request body ,提供逻辑方法获取数值。当然由服务器端决定怎么处理这些数值。

 

        User-Agent:Mozilla/5.0(。。。)<headers>是你使用的浏览器定义的,每一次发送请求的时候都自动发送。

        Connection:Keep-Alive <headers>浏览器操作

            <blank line>

POST的请求格式:

  POST / HTTP/1.1 

  HOST:www.wrox.com

  User-Agent:Mozilla/5.0(。。。)

  Content-Type:application/x-www-form-urlencoded<header>决定请求的request body是怎么样加密的。浏览器总是加密post data 作为application/x-www-form-urlencoded,这是一种MIME类型,对于简单的URL加密的类型。

  Content-Length:40<header>说明request body的字节长度,由简单的name-value对组成,name是Professinal Ajax ;publisher 是Wiley;这个name-value对和query string里面的name-value pair 是一样的。

  Connection:keep-Alive

  

  name=Professinal%20Ajax&publisher=Wiley

HTTP回应:

<status-line>

<headers>

<blank line>

[<response-body>]

HTTP回应例子:


HTTP/1.1 200 OK-----包含状态信息通过状态码而不是请求信息,状态码200和信息OK

Date:Sat, 31 Dec 2005 23:59:59 GMT

Content-Type:text/html; charset=ISO-8859-1

Content-Length:122

<html><response body>

  <head>

    <title>Wrox Homepage</title>

  </head>

  <body>

    <!--body goes here-->

  </body>

</html><response body>

常用状态码:

200(OK):成功找到资源。

304(NOT MODIFIED):上次请求之后资源没有被修改,这个经常用于浏览器缓存机制。

401(UNAUTHORIZED):客户端并没有被授权获得资源,通常,这会使浏览器会提问用户名和密码去登陆服务器。

403(FORBIDDEN):客户端获取权限失败。这个通常发生在,你的登陆时的用户名或密码错误,在401之后。

404(NOT FOUND):在访问的路径中资源不存在。

 

posted @ 2014-07-30 13:33  495157297  阅读(239)  评论(0编辑  收藏  举报