网络基础
一、什么是HTTP协议
答:hypertext transfer protocol(超文本传输协议),TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。
二、客服端连接服务器的原理(http协议业务流程)
答:用户在浏览器输入网址,经过DNS域名解析之后,获取到指定服务器的ip地址,随后则通过该ip地址向服务器发出Http请求。而服务器端则会一直在相应端口上监听用户发送过来的请求,当服务器监听到用户请求之后,就会将响应数据通过某种形式返回给客户端。
三、Get方式与Post方式的差别
Get方式主要用于需要从服务器上获取数据的请求;
Post方式主要用于需要向服务器提交数据的请求;
Get方式如需提交数据,则是通过URL提交数据。在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔, 但数据容量通常不能超过2K(受URL长度的限制),比如:http://xxx?username=…&pawd=…;
Post方式则把数据放在请求体中提交,并且提交的数据大小没有限制。
注:这两个玩意都是发送数据的,只是发送机制不一样,不要相信网上说的 "GET获得服务器数据,POST向服务器发送数据"! 另外GET安全性非常低, 但是执行效率却比Post方法好,而 Post则安全性较高, 所以一般查询的时候我们用GET,数据增删改的时候用POST !
四、Http状态码
100~199 : 成功接受请求,客户端需提交下一次请求才能完成整个处理过程;
200: OK,客户端请求成功;
300~399:请求资源已移到新的地址(302,307,304);
401:请求未授权,改状态代码需与WWW-Authenticate报头域一起使用;
403:Forbidden,服务器收到请求,但是拒绝提供服务;
404:Not Found,请求资源不存在,这个就不用说啦;
500:Internal Server Error,服务器发生不可预期的错误;
503:Server Unavailable,服务器当前不能处理客户端请求,一段时间后可能恢复正常;
五、Http协议的特点(百度百科)
1. 支持客户/服务器模式;
2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、 HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快;
3. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记;
4. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求, 并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间;
5. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快;