您的位置:首页 > 理论基础 > 计算机网络

HTTP-Hypertext Transfer Protocol超文本传输协议

2011-08-25 10:38 471 查看
原文地址:http://www.buzzle.com/articles/http-hyper-text-transfer-protocol.html

本文描述了什么是HTTP(Hypertext Transfer Protocol,超文本传输协议)。

HTTP即超文本传输协议,下面先来了解一下什么是协议

协议定义了计算机间彼此是如何通信的。协议包含了一系列规则和过程,计算机在使用协议进行消息收发时,必须满足协议中所描述的规则和过程。最常见的协议包括HTTP、SMTP、FTP、IMAP、POP3等。

HTTP介绍

HTTP定义:

由于协议是网络通信的一系列的规则和过程,而HTTP是一个协议,因此TTP本身就是一系列用于万维网通信的规则和过程。

万维网(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force, IETF) 协同来开发HTTP。其最初的目的是铍铜一种获取和发布HTML文档的方法。HTTP位于TCP/IP模型的应用层(第五层)。HTTP客户端通过HTTP协议向HTTP服务器发送请求,HTTP服务器处理这些请求。向Web服务器发送请求的客户端即用户代理,典型的客户端包括Web浏览器、所有引擎蜘蛛、Web应用等。

HTTP客户端和服务器通信

HTTP客户端(例如Web浏览器)一般通过80端口连接到HTTP服务器。HTTP服务器对请求进行解释,对请求进行处理,并向HTTP客户端做出相应(如果有必要的话)。

HTTP请求消息的典型内容包括:

请求行
HTTP头
空行
消息体(可选)

HTTP客户端请求方法

HEAD

该方法用于与下面的GET方法类似,不同之处在于服务区相应HEAD方法时,不包含消息体。
GET

该方法用于从Web服务器获取资源。Get方法是一种很常用的方法。
POST

该方法向Web服务器提交要处理的数据。在我们提交Web表单时,会调用POST方法。
PUT

该方法向HTTP服务器上传特定的资源。
DELETE

该方法删除Web服务器上的特定资源。
TRACE

服务器通过相应该方法来让HTTP客户端知道服务器是否可用。
OPTIONS

该方法用来确定服务器端支持的功能,例如服务器支持哪些方法。
CONNECT

该方法用来将请求连接转换为透明的TCP/IP隧道,用来通过没有加密的HTTP代理来实现SSL(Secure Socket Layer)通信(HTTPS)。

HTTP响应状态代码

HTTP相应 是由Web服务器做出的。HTTP相应意味着回复、结果、或对客户端请求的相应。下面列出了服务器相应状态代码-

1xx - 信息

100 - Continue
101 - Switching protocols
102 - Processing (WebD***)

2xx - 成功

200 - Ok
201 - Created
202 - Accepted
203 - Non-Authoritative Information
204 - No Content
205 - Reset Content
206 - Partial Content
207 - Multi-Status (WebD***)

3xx - 重定向

300 - Multiple Choices
301 - Moved Permanently
302 - Not found
303 - See Other
304 - Not Modified
305 - Use Proxy
306 - Switch Proxy
307 - Temporary Redirect

4xx - 客户端错误

400 - Bad Request
401 - Unauthorized
402 - Payment Required
403 - Forbidden
404 - Not Found
405 - Method Not Allowed
406 - Not Acceptable
407 - Proxy Authentication Required
408 - Request Timeout
409 - Conflict
410 - Gone
411 - Length Required
412 - Precondition Failed
413 - Request Entity Too Large
414 - Request-URI Too Long
415 - Unsupported Media Type
416 - Requested Range not satisfiable
417 - Expectation Failed
422 - Unprocessable Entity (WebD***)
423 - Locked (WebD***)
424 - Failed Dependency (WebD***)
425 - Unordered Collection
426 - Upgrade Required
449 - Retry With

5xx - 服务器端错误

500 - Internal Server Error
501 - Not Implemented
502 - Bad Gateway
503 - Service Unavailable
504 - Gateway Timeout
505 - HTTP Version Not Supported
506 - Variant Also Negotiates
507 - Insufficient Storage (WebD***)
509 - Bandwidth Limit Exceeded
510 - Not Extended


一个简单的HTTP通信场景

1. HTTP客户端发起与Web服务器的链接,然后向服务器发送一个请求方法。



2. HTTP服务器处理客户端的请求,同时客户端等待服务器的相应。



3. Web服务器向客户端响应状态码数据(如果可用的话),然后关闭连接。译者注:原文可能基于1.0,在HTTP1.1中,连接可以是持续的。




By
Amol Vyavhare
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: