`
ASCII
  • 浏览: 30814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

超文本传输协议(HTTP)

阅读更多

      HTTP是一种协议,允许web服务器和浏览器通过互联网进行来发送和接受数据。它是一种请求和响应协议。客户端请求一个文件而服务器响应请求。HTTP使用可靠的TCP连接--TCP默认使用80端口。第一个HTTP版是HTTP/0.9,然后被HTTP/1.0所替代。正在取代HTTP/1.0的是当前版本HTTP/1.1,它定义于征求意见文档(RFC) 2616,可以从http://www.w3.org/Protocols/HTTP/1.1/rfc2616.pdf下载。
      注意:本节涵盖的HTTP 1.1只是简略的帮助你理解web服务器应用发送的消息。假如你对更多详细信息感兴趣,请阅读RFC 2616。
      在HTTP中,始终都是客户端通过建立连接和发送一个HTTP请求从而开启一个事务。web服务器不需要联系客户端或者对客户端做一个回调连接。无论是客户端或者服务器都可以提前终止连接。举例来说,当你正在使用一个web浏览器的时候,可以通过点击浏览器上的停止按钮来停止一个文件的下载进程,从而有效的关闭与web服务器的HTTP连接。
HTTP请求
      一个HTTP请求包括三个组成部分:
方法—统一资源标识符(URI)—协议/版本
请求的头部
主体内容
      下面是一个HTTP请求的例子:

POST /examples/default.jsp HTTP/1.1
Accept: text/plain; text/html
Accept-Language: en-gb
Connection: Keep-Alive
Host: localhost
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate

lastName=Franks&firstName=Michael 


     方法—统一资源标识符(URI)—协议/版本出现在请求的第一行。 
POST /examples/default.jsp HTTP/1.1
      这里POST是请求方法,/examples/default.jsp是URI,而HTTP/1.1是协议/版本部分。
      每个HTTP请求可以使用HTTP标准里边提到的多种方法之一。HTTP 1.1支持7种类型的请求:GET, POST,
HEAD, OPTIONS, PUT, DELETE和TRACE。GET和POST在互联网应用里边最普遍使用的。
      URI完全指明了一个互联网资源。URI通常是相对服务器的根目录解释的。因此,始终一斜线/开头。统一资源定位器(URL)其实是一种URI(查看http://www.ietf.org/rfc/rfc2396.txt)来的。该协议版本代表了正在使用的HTTP协议的版本。
      请求的头部包含了关于客户端环境和请求的主体内容的有用信息。例如它可能包括浏览器设置的语言,主体内容的长度等等。每个头部通过一个回车换行符(CRLF)来分隔的。
      对于HTTP请求格式来说,头部和主体内容之间有一个回车换行符(CRLF)是相当重要的。CRLF告诉HTTP服务器主体内容是在什么地方开始的。在一些互联网编程书籍中,CRLF还被认为是HTTP请求的第四部分。 
      在前面一个HTTP请求中,主体内容只不过是下面一行: 

      lastName=Franks&firstName=Michael 

      实体内容在一个典型的HTTP请求中可以很容易的变得更长。 

 HTTP响应
      类似于HTTP请求,一个HTTP响应也包括三个组成部分:
方法—统一资源标识符(URI)—协议/版本
响应的头部
主体内容
    下面是一个HTTP响应的例子:

HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Mon, 5 Jan 2004 13:13:33 GMT
Content-Type: text/html
Last-Modified: Mon, 5 Jan 2004 13:13:12 GMT
Content-Length: 112

<html>
<head>
<title>HTTP Response Example</title>
</head>
<body>
Welcome to Brainy Software
</body>
</html>



      响应头部的第一行类似于请求头部的第一行。第一行告诉你该协议使用HTTP 1.1,请求成功(200=成功),表示一切都运行良好。
      响应头部和请求头部类似,也包括很多有用的信息。响应的主体内容是响应本身的HTML内容。头部和主体内容通过CRLF分隔开来。

 

分享到:
评论

相关推荐

    RFC1945超文本传输协议HTTP1.0

    ### RFC1945超文本传输协议HTTP1.0 #### 概述 《RFC1945超文本传输协议HTTP1.0》是互联网工程任务组(IETF)发布的一份规范文档,由Tim Berners-Lee、Roy Fielding和Henrik Frystyk Nielsen等人共同撰写,首次发布...

    超文本传输协议HTTP中文

    ### 超文本传输协议HTTP概述 #### 一、HTTP简介 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是一种应用层协议,主要用于在客户端(如Web浏览器)与服务器之间传输超文本数据,例如网页。HTTP是互联网...

    超文本传输协议HTTP1·0

    超文本传输协议(HTTP,Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议,主要负责在Web浏览器和Web服务器之间传输数据。HTTP/1.0是HTTP协议的一个早期版本,它为分布式超媒体协作系统提供了...

    超文本传输协议HTTP.doc

    超文本传输协议HTTP.doc

    计算机网络实验超文本传输协议Http分析.doc

    计算机网络实验超文本传输协议Http分析.doc

    超文本传输协议中文 rfc2068

    ### 超文本传输协议 HTTP/1.1 (RFC2068) #### 概述 《超文本传输协议中文 RFC2068》是一份关键的技术文档,它定义了互联网社区内的一项重要协议——HTTP/1.1,并且根据其标准化的状态,需要进一步讨论和完善。这份...

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

    【超文本传输协议(HTTP)详解】 超文本传输协议(HTTP,Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议。它定义了客户端(浏览器)和服务器之间数据交互的格式和规则,使得用户能够通过浏览器...

    超文本传输协议超文本传输协议

    超文本传输协议(HTTP,Hypertext Transfer Protocol)是一种用于在互联网上传输数据的应用层协议,主要用于Web浏览器和Web服务器之间的通信。HTTP/1.1是HTTP协议的一个重要版本,是对HTTP/1.0的升级,它在1999年由...

    HTTP超文本传输协议-HTTP1.1中文版(上)[文].pdf

    HTTP超文本传输协议-HTTP/1.1中文版(上) HTTP超文本传输协议(HTTP)是一种分布式、合作式、多媒体信息系统服务,面向应用层的协议。它是一种通用的、不分状态(stateless)的协议,除了诸如名称服务和分布对象...

    超文本传输协议-HTTP

    ### 超文本传输协议-HTTP #### 一、HTTP简介与重要性 HTTP(HyperText Transfer Protocol)是一种用于从Web服务器传输超文本到本地浏览器的应用层协议,它构成了万维网的基础。作为互联网上应用最为广泛的一种网络...

Global site tag (gtag.js) - Google Analytics