HTTP介绍
一、HTTP协议:主要用于客户端和服务器之间的网络通信,是目前应用广泛的一种通信协议。客户端一般指的是请求资源的一端,比如浏览器访问淘宝网页,手机淘宝APP;服务器一般提供资源,比如淘宝的服务器。客户端通过 HTTP 协议发起请求,告诉服务器自己想要什么,服务器根据客户端的需要提供对应的资源,并由 HTTP 协议将服务器提供的资源返回给客户端【单向通信】。
二、HTTP消息(HTTP报文):客户端和服务器之间交互数据的方式,包括请求和响应两种类型的消息。
1、请求:由客户端发送用来触发服务器上的动作;
2、响应:来自服务器的应答。
三、HTTP请求:
1、请求行:POST 127.0.01:8080/get HTTP/1.1,起始行,请求类型(例如get或post)+URL+HTTP协议版本;
2、请求头headers:一行很长的key:value形式的字符串,可以理解为配置,想要什么,后空一行;
3、请求主体body:一般get请求类型不带,post请求类型带。
四、HTTP响应:
1、状态行:HTTP/1.1 200 OK ,HTTP协议版本+状态码+状态文本;
2、响应头headers:一行很长的key:value形式的字符串,可以理解为配置,做了什么,后空一行;
3、响应主体body:并不是都有body,如201。
五、状态码:
1、1XX:信息性状态码;
2、2XX:成功性状态码:
200:OK;
201:Created;
3、3XX:重定向状态码:
301:Permanently Moved (永久性转移),在响应报文中使用首部 "Location:URL",指定资源现在所在的位置;
302:Fonud(临时重定向),在响应报文中使用首部"Location:URL",指定临时资源位置;
304:Not Modified(可以使用缓存),告诉客户端没有更改资源;
4、4XX:客户端错误信息:
403:Forbidden,请求被服务器拒绝;
404:Not Found,服务器无法找到请求的URL;
405:Method Not Allowed,不允许使用此方法请求相应的URL;
5、5XX:服务器错误信息:
500:Internal Server Error,服务器内部错误;
502:Bad Gateway,代理服务器从上级收到了一条伪响应;
503:Service Unavailable,服务器此时无法提供服务,但是将来可能可用。