HTTP的使用
HTTP的使用
1. HTTP的简单介绍
超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于 分布式、 协作式和 超媒体信息系统的 应用层协议。
HTTP是一个 客户端(用户)和 服务端(网站)之间请求和应答的标准(Client/Server),应用层HTTP基于传输层的 TCP协议。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口( 默认端口为80)。
2. HTTP的工作过程
通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。
3. HTTP的请求方式
HTTP/1.1协议(HTTP的版本)中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源(重点关注:GET和POST):
-
GET:向指定的资源发出“
显示”请求。使用GET方法应该只用在读取资料,而不应当被用于产生“副作用”的操作中,例如在网络应用程序中。其中一个原因是GET可能会被网络爬虫等随意访问。 -
HEAD:与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的文本部分
-
POST:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件、在线注册账号)
-
PUT:向指定资源位置上传其最新内容。
-
DELETE:请求服务器删除Request-URI所标识的资源
-
TRACE:回显服务器收到的请求,主要用于测试或诊断
-
OPTIONS:可使服务器传回该资源所支持的所有HTTP请求方法,可以测试服务器功能是否正常运作
-
CONNECT:HTTP/1.1协议中预留给能够将连接改为隧道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器)
4. HTTP的Request
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成
5. HTTP的Response
服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文
HTTP响应状态码
状态代码有三位数字组成,其中第一个数字定义了响应的类别,共分五种类别:
-
1xx:指示信息--表示请求已接收,继续处理
-
2xx:成功--表示请求已被成功接收、理解、接受
-
3xx:重定向--要完成请求必须进行更进一步的操作
-
4xx:客户端错误--请求有语法错误或请求无法实现
-
5xx:服务器端错误--服务器未能实现合法的请求