前端面试(一)

1.对web标准的理解?
    结构:html
    表现:css
    行为:js(dom + es)
2.cookie和session的区别。
    (1)cookie数据存放在客户的浏览器上,session数据放在服务器上。
    (2)cookie不安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 。
    (3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。
    (4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
    (5)一般将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中
    (6)cookie和session结合使用:
      1、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器            会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库          中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side                  session。
       2、将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。
3.http状态码及其含义
    200 请求已成功,请求所希望的响应头或数据体将随此响应返回。
    204 无内容 在成功处理请求后服务器并没有返回任何实体内容
    205 服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码    的响    应要求请求者重置文档视                 图。该响应主要是被用于接受用户输入后,立即重置    表单,以便    用户能够轻松地开始另一次输入。   与204响应               一样,该响应也被    禁止包含任何消息    体,且以消息头后的第一个空行结束。
    206    部分内容。服务器成功处理了部分GET请求
    301 被请求的资源已永久移动到新位置。
    302 请求的资源现在临时从不同的 URI 响应请求。
    304 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会    缓存访    问过的资源,通过提供一                个头信息指出客户端希望只返回在指定日期之    后修改的资源
    400 1、语义有误,当前请求无法被服务器理解。2、请求参数有误。    
    404 请求失败,请求所希望得到的资源未被在服务器上发现。
    422 不可处理的请求实体 请求格式正确但是因为存在语意错误无法响应
    500 服务器遇到了一个未曾预料的状况,无法完成对请求的处理,会在程序码出错时出    现。
    501 服务器不支持当前请求所需要的某个功能。无法识别请求的方法.
    503 服务不可用 服务器当前不可用。
    其他,详细可见:http://tool.oschina.net/commons?type=5
4.http请求报文头结构
    一个HTTP请求由四个部分组成:请求行、请求头部、空行、请求数据。 
    -请求行 
        请求行由请求方法字段、URL字段和HTTP协议版本 3个字段组成,它们用空格分隔。
         比如 GET /data/info.html HTTP/1.1
        方法字段就是HTTP使用的请求方法,比如常见的GET/POST。如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。
        HTTP协议版本有两种:HTTP1.0/HTTP1.1 
        区别:
        HTTP1.0对于每个连接都只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Host字段;
        HTTP1.1在同一个连接中可以传送多个请求和响应,多个请求可以重叠和同时进行,HTTP1.1必须有Host字段。
    -请求头部 
        浏览器向服务器发送请求必须指明请求类型(一般是GET或者 POST)。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说 Content-Length必须出现。
        常见的请求头字段含义:
        Accept: 浏览器可接受的MIME类型。
        Accept-Charset:浏览器可接受的字符集。
        Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
        Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。
        Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。
        Content-Length:表示请求消息正文的长度。
        Host: 客户机通过这个头告诉服务器,想访问的主机名。Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。
        If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间。只有当所请求的内容在指定的时间后又经过修改才返回它,否则返回304“Not Modified”应答。
        Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)。包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
        User-Agent:User-Agent头域的内容包含发出请求的用户信息。浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
        Cookie:客户机通过这个头可以向服务器带数据,这是最重要的请求头信息之一。
        Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
        From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。
        Connection:处理完这次请求后是否断开连接还是继续保持连接。如果Servlet看到这里的值为“Keep- Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入 ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。
        Range:Range头域可以请求实体的一个或者多个子范围。例如,
        表示头500个字节:bytes=0-499      
        表示第二个500字节:bytes=500-999        
        表示最后500个字节:bytes=-500        
        表示500字节以后的范围:bytes=500-        
        第一个和最后一个字节:bytes=0-0,-1        
        同时指定几个范围:bytes=500-600,601-999        
        但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200 (OK)。       
        UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。       
        -空行 
        它的作用是通过一个空行,告诉服务器请求头部到此为止。 
        -请求数据 
        若方法字段是GET,则此项为空,没有数据
       
        若方法字段是POST,则通常来说此处放置的就是要提交的数据
5.http和https的区别
      HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL        
      HTTPS和HTTP的区别主要如下:
      1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
      2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
      3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。   
      4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值