HTTP-Hypertext Transfer Protocol超文本传输协议
来源:互联网 发布:钱夫人淘宝店图片 编辑:程序博客网 时间:2024/04/28 17:43
原文地址: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头
- 空行
- 消息体(可选)
- 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相应 是由Web服务器做出的。HTTP相应意味着回复、结果、或对客户端请求的相应。下面列出了服务器相应状态代码-
1xx - 信息
- 100 - Continue
- 101 - Switching protocols
- 102 - Processing (WebDAV)
2xx - 成功
- 200 - Ok
- 201 - Created
- 202 - Accepted
- 203 - Non-Authoritative Information
- 204 - No Content
- 205 - Reset Content
- 206 - Partial Content
- 207 - Multi-Status (WebDAV)
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 (WebDAV)
- 423 - Locked (WebDAV)
- 424 - Failed Dependency (WebDAV)
- 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 (WebDAV)
- 509 - Bandwidth Limit Exceeded
- 510 - Not Extended
一个简单的HTTP通信场景
1. HTTP客户端发起与Web服务器的链接,然后向服务器发送一个请求方法。
2. HTTP服务器处理客户端的请求,同时客户端等待服务器的相应。
3. Web服务器向客户端响应状态码和数据(如果可用的话),然后关闭连接。译者注:原文可能基于1.0,在HTTP1.1中,连接可以是持续的。
- HTTP-Hypertext Transfer Protocol超文本传输协议
- Http :超文本传输协议 HyperText Transfer Protocol
- HTTP:超文本传输协议(Hypertext Transfer Protocol)
- 简析超文本传输协议(HTTP,HyperText Transfer Protocol)
- HTTP协议——HyperText Transfer Protocol(超文本传输协议)
- HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
- HTTPS(Secure Hypertext Transfer Protocol)--安全超文本传输协议
- HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
- HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
- HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议
- HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议
- HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议
- http/https 介绍 ----Secure Hypertext Transfer Protocol 安全超文本传输协议
- HttpsURLConnection 安全传输(HTTPS--Secure Hypertext Transfer Protocol-安全超文本传输协议)
- HttpsURLConnection 安全传输(HTTPS--Secure Hypertext Transfer Protocol-安全超文本传输协议)
- HttpsURLConnection 安全传输(HTTPS--Secure Hypertext Transfer Protocol-安全超文本传输协议)
- HttpsURLConnection 安全传输(HTTPS--Secure Hypertext Transfer Protocol-安全超文本传输协议)
- [转]HTTPS安全超文本传输协议(Secure Hypertext Transfer Protocol)
- 主线程等待子线程执行结束
- org.apache.struts2.dispatcher.FilterDispatcher作用
- 参考:修改android开机界面
- 设计师必备的用户界面设计工具,工具包和资源
- conn
- HTTP-Hypertext Transfer Protocol超文本传输协议
- JAVA中截取字符串
- vs2010 MSDN 使用经典方式查看
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- 一种软阴影的实现方法
- 苹果宣布CEO乔布斯辞职 COO库克接任
- Android 中关于 【Cursor】 类的介绍、数据库和设计模式
- 关于编程,大学没有传授的十件事
- 内存读取类