如何将HTTP协议类为支持的?
摘要:本文从以下几方面介绍HTTP协议 主要特点: http协议的特点: 1.支持客户服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不
本文从以下几方面介绍HTTP协议
HTTP协议的主要特点
HTTP报文的组成部分
HTTP方法
HTTP状态码
POST和GET的区别
什么是持久连接
什么是管线化
主要特点:
http协议的特点:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP报文的组成部分
HTTP有两种类型的报文:请求报文和响应报文。
请求报文的格式如下:
请求报文的第一行是请求行。请求行共有3个字段:方法、URL和版本,以空格分隔。在该行最后,以回车和换行两个字符作为结束。
方法:定义了请求类型。
URL:定义了相关Web页的地址,它和Host首部行一起组成完整的请求URL。
版本:给出HTTP协议的版本。HTTP的最新版本是1.1
在请求行之后,可以有0到多个首部行。每个首部行从客户端向服务器发送附加信息。
首部名称字段定义了附加信息的类型;首部值字段定义了与首部名相关联的值。
一些常用的首部名:
请求报文主体只在某些类型的报文中出现,为可变行数。该部分通常是一些需要发送的备注信息。
响应报文的格式如下:
响应报文中的第一行称为状态行。状态行共有3个字段:版本、状态码和短语,以空格分隔。在该行最后,以回车和换行两个字符作为结束。
版本:定义了HTTP协议的版本。
状态码、状态短语:定义了请求的状态。
在状态行之后,可以有0到多个首部行。每个首部行从服务器向客户端发送附加信息。
响应报文主体包含从服务器向客户端发送的文档。如果响应不是错误报文,则主体将出现在响应报文中。
响应报文中的一些常用的首部名:
http方法
GET 请求服务器的文档
HEAD 请求关于文档的信息,但不是这个文档本身
POST 从客户端向服务器发送一些信息
PUT 从服务器向客户端发送文档
TRACE 把到达的请求回送
CONNECT 保留
DELETE 删除Web页
OPTIONs 询问关于可用的选项
HTTP状态码
状态码的几个类别
1xx:指示信息 - 表示强求已接受,继续处理
2xx:成功 - 表示请求已被成功接收
3xx:重定向 - 要完成请求必须进行更进一步的操作
4xx:客户端错误 - 请求有语法错误或请求无法实现
5xx:服务端错误 - 服务端未能实现合法的请求
常见的状态码
提供信息的
100 Continue 请求的开始部分已经收到,客户可以继续它的请求
101 Switching 服务器同意切换协议
成功
200 OK 请求成功
201 Created 新的URL被创建
202 Accepted 请求被接受,但还没有马上起作用
204 No content 主体中没有内容
重定向
301 Moved Permanently 服务器已不再使用所请求的URL
302 Moved temporarily 所请求的URL已暂时地删除了
304 Not modified 文档还没有被修改
客户端差错
400 Bad request 在请求中有语法差错
401 Unauthorized 请求缺少适当的授权
403 Forbidden 服务被拒绝
404 Not found 文档未找到
405 Method not allowed 这个方法不被这个URL所支持
406 Not acceptable 所请求的格式不可接受
服务器差错
500 Internal server error 在服务器端有差错,如崩溃
501 Not implemented 所请求的动作不能完成
503 Service unavailable 服务暂时不可用
POST和GET的区别
持久连接
持久连接只有http1.1才支持。
