http协议

一、超文本传输协议 (HTTP )

       HTTP 协议,允许Web 服务器和浏览器在Internet 上发送和接受数据。HTTP 是一种基于“请求-响应”模式的协议。客户端请求一 个文件(file ),服务器针对该请求给出响应。HTTP 使用可靠的TCP 连 接——默认端口是80。HTTP的最初版本是HTTP/0.9 ,后来被HTTP/1.0 重 写。HTTP/1.0 的替代者是当前的HTTP/1.1。HTTP 的 通信总是由客户端主动初始化:建立连接并发送HTTP 请求。Web 服务器从来不主动联系(contact ) 客户端,或者建立到客户端的回调(callback )连接。无论客户端还是服务器,都可以随时(prematurely )中断连接。例如,当你在下载文件时,点击浏览器的“停止”按钮,就关闭了浏览器和服务器之间的HTTP 连接。


二、HTTP 请求

    HTTP 请求包含3 个组成部分:

  • Method-Uniform Resource Identifier (URI)-Protocol/Version
  • Request headers (请求头部)
  • Entity body (实体主体)

    下面是HTTP 请求的一个例子:

Html代码   收藏代码
  1. POST /examples/default.jsp HTTP/1.1  
  2. Accept: text/plain; text/html  
  3. Accept-Language: en-gb  
  4. Connection: Keep-Alive  
  5. Host: localhost  
  6. User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)  
  7. Content-Length: 33  
  8. Content-Type: application/x-www-form-urlencoded  
  9. Accept-Encoding: gzip, deflate  
  10.   
  11. lastName=Franks&firstName=Michael   

 

    Method-URI-Protocol/Version 是请求的第一行

Html代码   收藏代码
  1. POST /examples/default.jsp HTTP/1.1   

 

    POST 是Method ,/examples/default.jsp 是URI ,HTTP/1.1 就是Protocol/Version 。 

      每个HTTP 请求都可以使用HTTP 标 准中众多Method 中的一个。HTTP/1.1 共支       持7 种Method : GET , POST ,HEAD , OPTIONS , PUT , DELETE 和TRACE 。GET 和POST 是互联网应用使用最普遍的Method 。 
      URI 标 识了互联网上的资源。URI 的解析通常都是相对与服务器根目录的。因此,URI 总是从正斜线/ 开 始。统一资源定位器(Uniform Resource Locator , URL )实际上是一种URI (参 见 http://www.ietf.org/rfc/rfc2396.txt)。Protocol version 表示使用了哪个版本的HTTP 协议。 
        Request header 包含了关于客户端环境和entity body的有用信息 。例如,headers 可能包括浏览器的语言,entity body 的 长度等等。Header 之间通过回车/换行符(CRLF )分隔。 
        在headers 和entity body 之 间,是一个空行(CRLF )。这个CRLF 对于HTTP 请求内容的格式是相当重要的,它告诉HTTP 服务器:entify body 从哪开始。在一些介绍互联网编程的书中,该CRLF 被认为是HTTP 请求的第4 个组成部分。 

    在前面的HTTP 请求中,entify body 仅仅只有这一行:

Html代码   收藏代码
  1. lastName=Franks&firstName=Michael   


    这里只是一个例子,实际的HTTP 请求中,entity body 当然可以更长一些。


三、http响应

    和HTTP请求一样,HTTP 响应也包含3 个组成部分:

  • Protocol—Status code—Description  
  • Response headers (响应头部)
  • Entity body (实 体主体)

    下面是HTTP 响 应的一个例子:

Html代码   收藏代码
  1. HTTP/1.1 200 OK  
  2. Server: Microsoft-IIS/4.0  
  3. Date: Mon, 5 Jan 2004 13:13:33 GMT  
  4. Content-Type: text/html  
  5. Last-Modified: Mon, 5 Jan 2004 13:13:12 GMT  
  6. Content-Length: 112  
  7.   
  8. <html>  
  9. <head>  
  10. <title>HTTP Response Example</title>  
  11. </head>  
  12. <body>  
  13. Welcome to Brainy Software  
  14. </body>  
  15. </html>   

 

    HTTP 响应的第一行类似于HTTP 请求的第一行。第一行告诉你:使用的HTTP 版本是HTTP/1.1 ,请求处理成功了(200 = 成功),一切运行正常。 

    响应headers 和请求headers 类似,包含了很多有用的信息。响应数据中的entity body 是响应本身的HTML 内容。Headers 和entity body 之间通过CRLF 分隔。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值