特点:
1. 支持C/S模式
2. 简单快速。 客户向服务器请求服务时,只需传送请求方法和路径。 每种方法规定了与服务器联系的不同类型
3. 灵活。 HTTP允许传输任意类型的数据对象. 由Content-Type加以标记.
4. 无连接。 限制每次连接只处理一个请求。服务器完成客户的请求,并收到客户的应答后,即断开连接.
5. 无状态。 协议对事务处理没有记忆能力。
HTTP协议具体分为三大部分:请求报文、响应报文、消息报头;其中消息报头又分为四小部分:普通报头、请求报头、响应报头、实体报文。
接下来具体介绍这三部分的内容:
(一)、请求报文
请求报文由四部分组成:请求行,请求报头,空行和请求数据。
请求行:GET / HTTP/1.1
GET是请求方式,然而HTTP1.0规定了8种请求方式,下面具体介绍下8种请求方式及含义:
(1)Get, 检索URL中标识资源的一个简单请求。
(2)POST,服务器接收被写入客户端输出流中的数据请求。
(3)Head,与GET方法相同,服务器只返回状态行和头标,并不返回请求文档。
(4)Put,服务器保存请求数据作为指定URL版内容请求。
(5)Delete,服务器删除URL中命名的资源请求。
(6)Options,关于服务器支持的请求方法信息的请求。
(7)Trace,Web服务器反馈HTTP请求和头标请求。
(8)Connect,已文档化但未实现的一个方法,所留的隧道处理。
HTTP/1.1是指版本,关于版本问题:目前最常用的就是http1.0版和http1.1版。
(二)、响应报文
响应报文由三部分组成:状态行、消息报头、响应正文。
状态行:HTTP/1.1 200 OK
HTTP/1.1是指HTTP版本号;
200是状态码,然而状态码由三位数字组成,第一个定义了响应的类别,且有5种值:
(1)、100~199 表示成功接收请求,要求客户继续提交下一次请求,才能完成整个处理过程。
(2)、 200~299的状态码表示成功。常用200
(3)、300~399的状态码指资源重定向。常用302、304、307
(4)、400~499的状态码指客户端请求出错。常用404
(5)、500~599的状态码指服务端出错。常用500
(三)、消息报头
消息报头由四部分组成:普通报头、请求报头、响应报头、实体报头。
想了解消息报头的详解,请看下篇文章,我会继续总结的。
努力记录学习到的点点滴滴,很开心跟大家分享我学到的知识,同时希望总结出来的东西能够帮助到大家更加深入的了解HTTP协议,让我们一起在前进,一起探讨有关协议和前端的知识。 (瞎逼逼了一番,请大家不要介意哦!欢迎大家加关注,让我们一起开心的学习)
PS:状态码详解:
"100" : Continue
"101" : witching Protocols
"200" : OK
"201" : Created
"202" : Accepted
"203" : Non-Authoritative Information
"204" : No Content
"205" : Reset Content
"206" : Partial Content
"300" : Multiple Choices
"301" : Moved Permanently
"302" : Found
"303" : See Other
"304" : Not Modified
"305" : Use Proxy
"307" : Temporary Redirect
"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 Time-out
"409" : Conflict
"410" : Gone
"411" : Length Required
"412" : Precondition Failed
"413" : Request Entity Too Large
"414" : Request-URI Too Large
"415" : Unsupported Media Type
"416" : Requested range not satisfiable
"417" : Expectation Failed
"500" : Internal Server Error
"501" : Not Implemented
"502" : Bad Gateway
"503" : Service Unavailable
"504" : Gateway Time-out
"505" : HTTP Version not supported