HTTP协议是指超文本传输协议,位于应用层,HTTP规定数据格式,然后用tcp进行传输。
请求响应模式:简单理解为客户端对服务器发起请求,服务器响应客户端。
主要特点
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
URL格式:http://host:port/path
其中host代表主机IP或者域名。port为端口号,path为文件路径。
HTTP格式:每个http响应和请求都包含相同的格式,由Header和Body两部分组成,Body是可选项。
如下图
其中的GET为请求方法,除此之外,还有POST,HEAD,OPTIONS,等方法。
/142是请求的路径(path) HTTP/1.1为协议的版本。
Host用于指定被请求资源的Internet主机和端口号。
User-Agent允许客户端将它的操作系统,浏览器和其他属性告诉服务器。
Accept用于指定客户端接受那些类型的信息。
Accept-Language用于指定一种自然语言。
Accept-Encoding用于指定可接受的内容编码。
常见状代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常