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的版本)中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源(重点关注:GETPOST):

  • 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:服务器端错误--服务器未能实现合法的请求