题目:
1. AJAX是什么,如何使用AJAX?
2. 常见的HTTP状态码有哪些?
3. Post 和 get 区别?
4. cookie 和session 的区别?
1. AJAX 是什么,如何使用 AJAX ?
AJAX(Asynchronous JavaScript and XML)即异步JS和XML。其是一种用于创建快速动态网页的技术,该技术可以完成在无需重新加载整个网页、链接不被改变的前提下,与服务器交换数据并更新部分网页。例如微博下拉加载内容。
2. 常见的 HTTP 状态码有哪些?
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:
- 信息,服务器收到请求,需要请求者继续执行操作
- 成功,操作被成功接收并处理
- 重定向,需要进一步的操作以完成请求
- 客户端错误,请求包含语法错误或无法完成请求
- 服务器错误,服务器在处理请求的过程中发生了错误
状态码 | 含义 | 解释 |
---|---|---|
200 | OK/正常 | 请求已正常处理,一般用于相应GET和POST请求。 |
301 | Moved Permanently/永久性重定向 | 请求的资源已经被分配了新的URI,以后应使用资源现在所指的URI。 |
302 | Found/找到 | 临时性重定向。和301相似,但302代表的资源不是永久性移动,只是临时性性质的。 |
304 | (Not Modified/未修正 | 资源已找到,但未符合条件请求。 |
307 | temporary redirect/暂时重定向 | 与302有相同的含义 |
400 | Bad Request/错误请求 | 服务器端无法理解客户端发送的请求,请求报文中可能存在语法错误。 |
401 | Unauthorized/未授权 | 该状态码表示发送的请求需要有通过HTTP认证(BASIC认证,DIGEST认证)的认证信息。 |
403 | Forbidden/禁止 | 不允许访问那个资源。该状态码表明对请求资源的访问被服务器拒绝了。(权限,未授权IP等) |
404 | Not Found/未找到 | 服务器上没有请求的资源。路径错误等。 |
410 | Gone/已经不存在 | 告诉客户端所请求的文档已经不存在并且没有更新的地址。410状态不同于404,410是在指导文档已被移走的情况下使用,而404则用于未知原因的无法访问。 |
500 | Internal Server Error/内部服务器错误 | 内部资源出故障了。该状态码表明服务器端在执行请求时发生了错误。也有可能是web应用存在bug或某些临时故障。 |
501 | Not Implemented/未实现 | 状态告诉客户端服务器不支持请求中要求的功能。 |
3. Post 和 get 区别?
网上找到的所谓标准答案:
1、get用于获取数据,post用于提交数据
2、get提交参数追加在url后面,post参数可以通过http body提交
3、get的url会有长度上的限制,而post的数据则可以非常大
4、get提交信息明文显示在url上,不够安全,post提交的信息不会在url上显示
5、get提交可以被浏览器缓存,post不会被浏览器缓存
包括我现在也认为以上没有什么毛病,但是有人证明了它们基本上都是有问题的:请点我
4. cookie 和 session 的区别
1. cookie数据存放在客户的浏览器上,session数据放在服务器上。
2. cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
3. session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能,型网站会有专门Session服务器。Cookie存在客户端没问题。
4. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5. 存储数据量方面:session 能够存储任意的 java 对象,cookie 只能存储 String 类型的对象