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
本文描述了什么是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
相关文章推荐
- HTTP(HyperTextTransferProtocol)即超文本传输协议
- HTTP(Hypertext Transfer Protocol,超文本传输协议)
- 简析超文本传输协议(HTTP,HyperText Transfer Protocol)
- HTTP:超文本传输协议(Hypertext Transfer Protocol)
- HTTP协议——HyperText Transfer Protocol(超文本传输协议)
- HTTP(HyperText Transfer Protocol) 01-基础
- Hypertext Transfer Protocol -- HTTP/1.1
- Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- Hypertext Transfer Protocol -- HTTP/1.1 Status Code
- HTTP - Hypertext Transfer Protocol Overview
- Status Code Definitions --Hypertext Transfer Protocol -- HTTP/1.1
- HTTP(HyperText Transfer Protocol) 01-基础
- Hypertext Transfer Protocol -- HTTP/1.1
- http/https 介绍 ----Secure Hypertext Transfer Protocol 安全超文本传输协议
- http和https80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web
- HTTP(HyperText Transfer Protocol) 02-HTTP代理
- HTTP(HyperText Transfer Protocol) 02-HTTP代理
- The Hypertext Transfer Protocol(HTTP)
- Hypertext Transfer Protocol -- HTTP/1.0
- 超文本传输协议 -- HTTP/1.0 Hyptertext Transfer Protocol