(面试)网络相关(不断丰富中…)

来源:互联网 发布:广西农产品出口数据 编辑:程序博客网 时间:2024/05/22 14:54

1 TCP、UDP的区别和应用

答:TCP:Transfer Control Protocol,传输控制协议。
这是一个全双工的、面向连接的、可靠的并且是精确控制的协议。
主要是用在那些实时性不强、但要求不能出错的应用。比如说,网页的浏览、文件的下载(不是BT、电驴下载)、邮件的收发等场合,就需要TCP协议进行传输(因为不会出错)。
当然,它在网络方面的开销是昂贵的。

UDP:User Datagram Protocol,用户数据报协议。
这是一个不可靠的传输协议。因为它不排序所要发送的数据段、不关心这些数据段到达目的方的顺序(所以它才不可靠),所以它在网络的开销要比TCP小很多。因此UDP适合用在那些实时性强、允许出错的场合。   

TCPUDP是否连接面向连接面向非连接传输可靠性可靠不可靠场合大量数据少量数据速度开销应用网页流量,文件下载(除BT、电驴),邮件QQ,MSN,语音视频

2 cookie session 的区别和应用

cookie 和session 的区别:
(1)cookie数据存放在客户的浏览器上,session数据放在服务器上。
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。考虑到安全应当使用session。
(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。
(4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。


Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。

服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。
另一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器

故保存session的三种方式为    cookie  URL重写  表单隐藏字段

可以试一下,即使不写Cookie,在使用request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值


3 http、https 的区别,https如何加密

(1)http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议

(2)http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443

(3)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全

(4)Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定

SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议(HTTP)使用 SSL 来实现安全的通信。
在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身份。SSL 协议的版本 1 和 2 只提供服务器认证。版本 3 添加了客户端认证,此认证同时需要客户端和服务器的数字证书

详情连接http://blog.csdn.net/littlehorsebro/article/details/51539326

4 http返回码的意义和原因

HTTP协议状态码表示的意思主要分为五类 ,大体是 :  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
1××   保留   
2××   表示请求成功地接收   
3××   为完成请求客户需进一步细化请求   
4××   客户错误   
5××   服务器错误  

100 Continue
指示客户端应该继续请求。回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝。客户端应该继续发送剩下的请求数据或者请求已经完成,或者忽略回送数据。服务器必须发送最后的回送在请求之后。

101 Switching Protocols 
服务器依照客服端请求,通过Upgrade头信息,改变当前连接的应用协议。服务器将根据Upgrade头立刻改变协议在101回送以空行结束的时候。


Successful 
=================================
200 OK  指示客服端的请求已经成功收到,解析,接受。

201 Created 
请求已经完成并一个新的返回资源被创建。被创建的资源可能是一个URI资源,通常URI资源在Location头指定。回送应该包含一个实体数据并且包含资源特性以及location通过用户或者用户代理来选择合适的方法。实体数据格式通过煤体类型来指定即content-type头。最开始服务器必须创建指定的资源在返回201状态码之前。如果行为没有被立刻执行,服务器应该返回202。

202 Accepted  请求已经被接受用来处理。但是处理并没有完成。请求可能或者根本没有遵照执行,因为处理实际执行过程中可能被拒绝。

203 Non-Authoritative Information

204 No Content  服务器已经接受请求并且没必要返回实体数据,可能需要返回更新信息。回送可能包含新的或更新信息由entity-headers呈现。

205 Reset Content  服务器已经接受请求并且用户代理应该重新设置文档视图。

206 Partial Content  服务器已经接受请求GET请求资源的部分。请求必须包含一个Range头信息以指示获取范围可能必须包含If-Range头信息以成立请求条件。


Redirection 
==================================
300 Multiple Choices 请求资源符合任何一个呈现方式。

301 Moved Permanently  请求的资源已经被赋予一个新的URI。

302 Found  通过不同的URI请求资源的临时文件。


303 See Other

304 Not Modified  如果客服端已经完成一个有条件的请求并且请求是允许的,但是这个文档并没有改变,服务器应该返回304状态码。304状态码一定不能包含信息主体,从而通常通过一个头字段后的第一个空行结束。

305 Use Proxy 请求的资源必须通过代理(由Location字段指定)来访问。Location资源给出了代理的URI。

306 Unused

307 Temporary Redirect


Client Error 
=====================
400 Bad Request  因为错误的语法导致服务器无法理解请求信息。

401 Unauthorized  如果请求需要用户验证。回送应该包含一个WWW-Authenticate头字段用来指明请求资源的权限。

402 Payment Required  保留状态码

403 Forbidden  服务器接受请求,但是被拒绝处理。

404 Not Found  链接指向的网页不存在,即原始网页的URL失效   

原因:1、无法在所请求的端口上访问Web站点。 
   2、Web服务扩展锁定策略阻止本请求。 

3、MIME映射策略阻止本请求。 

解决办法:把缺少的网页文件恢复到正确的位置,重新设置网络服务。对于用户来讲,需要检查你所输入的网络地址是否正确。

   
405 Menthod Not Allowed  Request-Line 请求的方法不被允许通过指定的URI。

406 Not Acceptable

407 Proxy Authentication Required

408 Reqeust Timeout  客服端没有提交任何请求在服务器等待处理时间内。

409 Conflict

410 Gone

411 Length Required  服务器拒绝接受请求在没有定义Content-Length字段的情况下。

412 Precondition Failed

413 Request Entity Too Large  服务器拒绝处理请求因为请求数据超过服务器能够处理的范围。服务器可能关闭当前连接来阻止客服端继续请求。

414 Request-URI Too Long  服务器拒绝服务当前请求因为URI的长度超过了服务器的解析范围。

415 Unsupported Media Type  服务器拒绝服务当前请求因为请求数据格式并不被请求的资源支持。

416 Request Range Not Satisfialbe

417 Expectation Failed


Server Error 
===================================
500 Internal Server Error  服务器遭遇异常阻止了当前请求的执行

501 Not Implemented  服务器没有相应的执行动作来完成当前请求。

502 Bad Gateway

503 Service Unavailable  因为临时文件超载导致服务器不能处理当前请求。

504 Gateway Timeout

505 Http Version Not Supported

0 0
原创粉丝点击