一、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:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
网友评论