Http 面试相关

1、http与https的区别: 

http作为一个无状态的协议,明文传输,数据容易被窃取,

而https就是在http基础之上,添加了一个SSL(安全套接字)协议+CA身份验证,使得传输变得安全。

其实简而言之 https在http基础上加了一个ssl,并变得传输安全。

 

2、什么是无状态?我们是如何解决http无状态的?

无状态的意思就是http对于事物处理没有记忆能力,你第二次访问时客户端并不知道你之前访问过他。

对此我们提供了缓存 cookie与 session

 

3、cookie和session的区别:

     一、cookie save在浏览器中,而 session save在服务器中

     二、由此也可看出,session能够存储的数据量比cookie多 

     三、而且因为cookie存在浏览器中,用户可以伪造,所以也就有了所谓的不安全的说法。

 

4、常用的HTTP方法有哪些?

    get、post、delete、OPTIONS、PUT、HEAD

  • GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
  • POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。
  • PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。
  • HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
  • DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件。
  • OPTIONS:查询相应URI支持的HTTP方法。(记个大概就行了,平时用的比较多的也就是get和post)

5、Get和Post的区别? **********作为一个web开发者必须要懂的***********************
Get:一般将数据以 '?'、'&'的形式拼接在访问路径后面或者时存入cookie中,进行传输,有所谓的长度限制(这个点有争议,有人说有,有人说没有)。故此一般传输的数据量比较小,因为这种拼接的方式导致数据用户可见,所以一般不用来存储 用户的私密信息,也很难存储 文件,比如图片上传。用途:典型的就是pageHelper的使用,当前页码pagesize与总记录树 rows 用的就是拼接的方式。

Post:则是将数据存入请求实体BODY中,进行传输,用户不可见,传输数据量肯定也比Get要多得多。常用的用途那就比较广了:反正传输大量数据用它没错,私密信息传输用它也没错

 

 

你可能感兴趣的:(java基础)