HTTP:超文本传输协议,在两点之间传输超文本数据的。
双向协议:浏览器请求方A,网站应答方B,双方约定用HTTP协议来通信。浏览器把请求数据发给网站,网站把数据返回给浏览器,浏览器渲染在屏幕。
HTTP常见状态码:
1** 提示信息,表示目前是协议处理的中间状态,还需要后续操作。
2** 成功,报文已经收到并被正确处理
200 OK 表示一切正常,如果是非HEAD请求,服务器返回的响应头都会有body数据
204 No Content 响应头没有body数据
206 Parital Content 应用于HTTP分块下载或断点续传,表示响应返回的body数据不是资源的全部,而是其中的一部分,也是扶额u我i处理成功的状态。
3** 重定向,资源位置发生变动,需要客户端重新发送请求
301 Moved Permanently 表示永久重定向,说明请求的资源已经不存在了,需改用新的URL再次访问。
302 Found 表示临时重定向,说明请求的资源还在,但暂时需要用另一个URL来访问。
301 302 都会在响应头里使用字段Location,指明后续要跳转的URL,浏览器会自动重定向新的URL。
304 Not Modified不具有跳转的含义,表示资源未修改,重定向已存在的缓冲文件,也称缓存重定向,用于缓存控制。
4** 客户端错误,请求报文有误,服务器无法处理
400 Bad Requestj表示客户端请求的报文有错误,但只是个笼统的错误。
403 Forbidden表示服务器禁止访问资源,并不是客户端的请求出错。
404 Not Found表示请求的资源在服务器上不存在或未找到,所以无法提供给客户端。
5** 服务端错误,服务器在处理请求时内部发生了错误。
500 Internal Server Error与400类型,是个笼统通用的错误码,服务器发生了什么错误,我们并不知道。
501 Not Implemented表示客户端请求的功能还不支持,类似“即将开业,敬请期待”的意思。
502 Bad Gateway通常是服务器作为网关或代理时返回的错误码,表示服务器自身工作正常,访问后端服务器发生了错误。
503 Service Unavailable表示服务器当前很忙,暂时无法响应服务器,类似“网络服务正忙,请稍后重试”的意思。
HTTP字段
HOST 客户端发送请求时,用来指定服务器的域名
Content-Length-字段 服务器在返回数据时,会有 Content-Length-字段,表明本次回应的数据长度。
Connection字段 Connection字段最常用于客户端要求服务器使用TCP持久连接,以便其他请求复用。
HTTP/1.1版本的默认连接都是持久连接,但为了兼容老版本的HTTP,需要指定 HTTP/1.1 , HTTP, connec首部字段的值为Kee