HTTP请求流程(2):Http协议概念、特点,Http请求方式、参数,响应状态码

一、Http协议

1、概念说明

HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传递数据:HTML文件、图片、查询数据等。HTTP协议基于客户端-服务端架构模式。浏览器作为HTTP客户端通过URL向服务端即WEB服务器发送请求。Web服务器根据接收到的请求后,处理完请求后向客户端发送响应信息。

2、协议特点

简单快速:请求服务器时,只需传送请求方法和路径。请求类型常用GET、POST。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态则后续处理需要前面的信息,没有则需要重新请求,这样可能导致每次连接传送的数据量增大。

支持客户/服务器模式

二、Http请求详解

1、请求的方式

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

2、请求参数说明

Method:常见GET 和 POST,另外还有DELETE、PUT 等 ;

URI:/servletOneImpl,和Host组成请求的URL ;

HTTP/1.1:传输协议Http,版本1.1 ;

Host:请求资源所在的主机和端口 ;

Connection:TCP连接默认不关闭,可以被多个请求复用 ;

Upgrade-Insecure-Requests:浏览器不再显示 https 页面中的 http 请求警报 ;

Content-Length:指示实体主体大小,以字节为单位十进制数,发送到接收方。

Cache-Control:max-age=0使用缓存,但是会立即过期 ;

User-Agent:客户端浏览器类型、版本、操作系统等信息 ;

Content-Type: 请求或响应中,传输资源类型信息 ;

Origin:当前请求出自的站点 ;

Accept:客户端声明自己可以接收的资源格式 ;

DNT: 请求禁用用户追踪 ;

Referer:告诉服务器该网页是从哪个页面链接过来 ;

Accept-Encoding: 声明浏览器支持的编码类型 ;

Accept-Language: 声明浏览器支持的语言类型 ;

Cookie: 辨识存储在客户端的缓存数据,通常会加密 ;

3、服务器响应返回状态码

状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

1xx:指示信息 —— 表示请求已接收,继续处理。

2xx:成功 —— 表示请求已被成功接收、理解、接受。

3xx:重定向 —— 要完成请求必须进行更进一步的操作。

4xx:客户端错误 —— 请求有语法错误或请求无法实现。

5xx:服务器端错误 —— 服务器未能实现合法的请求。

常见状态代码、状态描述的说明如下。

200 OK:客户端请求成功。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在,举个例子:输入了错误的URL。

500 Internal Server Error:服务器发生不可预期的错误。 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

你可能感兴趣的:(HTTP请求流程(2):Http协议概念、特点,Http请求方式、参数,响应状态码)