• 前端基础


    1、HTTP

    • 常见HTTP状态码(200成功类,300重定向类,400客户端类,500服务器端类):
      • 200:请求成功,一般用于Get和Post。                                                     OK
      • 301:资源移动。所请求资源自动到新的URL,浏览器自动跳转到新的URL。        Moved Permanently
      • 304:未修改。所请求资源未修改,浏览器读取缓存数据。                              Not Modified
      • 400:请求语法错误,服务器无法理解。                                                    Bad Request
      • 404:未找到资源。                                                                             Not Found
      • 500:服务器内部错误。                                                                       Internal Server Error
      • 502:前面代理服务器联系不到后端的服务器                                              Bad GateWay
      • 504:前面代理服务器能联系到后端的服务器,但是后端的服务器在规定的时间内没有给代理服务器响应     GateWay Timeout
    • 常用HTTP方法:
      • GET(从服务器端获取):从服务器获取一份文档
      • POST(向服务器端发送):向服务器发送需要处理的数据
      • PUT(向服务器端新增):将请求的主体部分存储到服务器上
      • DELETE(在服务器端删除):从服务器上删除一份文档 
    • HTTP请求/响应信息的组成部分:头行、头部(键值对构成)、主体
      • 请求报文
        • 头行:请求的方法、请求的url(主机地址)、请求使用的协议(HTTP版本)
        • 头部:包括浏览器可以接受的媒体类型、语言类型、浏览器的版本...
        • 主体:
      • 响应报文
        • 头行:HTTP协议的版本、HTTP状态码、HTTP状态码描述
        • 头部:Expires指定缓存的有效时间
        • 主体:如果访问的是一个页面,主体就是一个完整的html文件。 
    • HTTP事务的完整过程(请参考http://www.cnblogs.com/LIUYANZUO/p/5428185.html)

              在浏览器地址栏输入url,按下回车,这一瞬间页面发生了什么?

      1. 域名解析
        • 搜索浏览器的DNS缓存、操作系统的DNS缓存、读取hosts文件,看有没有该域名对应的IP地址、向DNS服务器发起域名解析请求,按顺序,找到且没有过期则解析结束,不再执行后续的。  
      2. 发起TCP的三次握手
      3. 建立TCP连接后发起http请求
      4. 服务器端响应http请求,浏览器得到HTML代码
      5. 浏览器解析HTML代码,并请求HTML代码中的资源
      6. 浏览器渲染页面呈现给用户  

                 

    2、同源策略:属于同一个源的几个页面拥有相同的协议(http、https)、主机(合法的Internet主机域名或IP地址)和端口(为空则使用默认端口80)。eg:https://i.cnblogs.com:8080/EditPosts.aspx?opt=1#news,这个url的协议为https、主机(hostname)为i.cnblogs.com、端口为8080。host为i.cnblogs.com:8080,pathname为EditPosts.aspx(路径),search(查询字符串)为opt=1,hash(表示当前文档的一个片段)为news。port、pathname、search、hash都是不必须的。

    3、跨域资源访问

    • 概念:当不满足同源策略的访问时,称为跨域资源的访问。
    • js跨域请求的方式有哪些?
      • W3C定义的CORS 
      • JSONP(Json with padding):利用了html里面的<script>标签可以跨域的原理
      • Frame代理
      • Web Sockets
      • Comet
      • ...

    4、数据存储(客户端存储数据)的方式

    • cookie:由键值对构成的小型文本文件,键值对之间用分号和空格分隔,大小为4kb左右。
      • cookie由六部分组成:
        • Name:作用为:名
        • Value:作用为:值
        • Domain:默认值为:当前文档域,作用为:作用域
        • Path:默认值为:当前文档路径,作用为:作用路径
        • Expires/Max-Age:默认值为:浏览器会话时间,作用为:失效时间
        • Secure:默认值为:false,为https协议时生效,值为true
      • 虽然cookie存储在浏览器端,但是经常在服务器端对cookie进行设置,可以在http返回体里通过设置Set-Cookie这个头部来告诉浏览器端需要存储的cookie。
      • 删除cookie:指定name、path、domain,这是唯一标识一个cookie的,然后将max-age属性的值设为0,就可以立即删除cookie了。
      • 设置cookie的值,需要程序员自己写一个setCookie()方法。
      • 读取cookie的值,需要程序员自己写一个getCookie()方法。
      • cookie的缺陷:
        • (url)只要满足cookie的作用域和作用路径,都会带上cookie信息,会产生巨大流量代价(每次请求新页面都会发送cookie,浪费了带宽;cokie还需要指定作用域,不可以跨域调用)
        • 安全性问题:cookie是明文传递的
        • 存储在浏览器端,有大小限制(4kb左右)  
    • web storage
      • session storage
        • 有效期默认为浏览器的会话时间,浏览器会话结束时,sessionStorage就消亡了
        • 作用域由协议、主机名、端口、窗口来决定
      • local storage
        • 有效期默认为永久,如果客户不删除的话
        • 作用域由协议、主机名、端口来决定
      • web storage的特点:
        • 克服cookie带来的一些限制,当数据需要被严格控制在客户端时,无需持续地将数据发回服务器。
        • 大部分在5MB左右,不同浏览器对storage的实现不同。只要满足有效期和作用域,每次访问浏览器的时候都会将storage载入到内存里,会对内存造成压力,建议不要给storage设置过大的数据。(提供一种存储大量可以跨会话存在的数据的机制)
        • W3C定义了专门的API来对storage进行增删查改。    

    5、 

  • 相关阅读:
    【搞定GTD】如何开始实践GTD?
    【iOS开发笔记21/50】获取应用程序的名称和版本号
    读书笔记:《冠军记忆术》
    【桥牌笔记】绝对不能让东家上手
    OpenInventor开发笔记:解决FaceSet的填充问题
    JasonHelper.Escape 转换字符串为jason格式代码
    在合适的场合使用 with (nolock) 提升查询性能
    嫁给程序员吧!【转】
    美国的工薪族阶层只承担全国"个税”总量的5%
    探秘System.Threading系列 第三篇:Thread的数据ThreadStatic 和LocalDataStoreSlot
  • 原文地址:https://www.cnblogs.com/liyan22/p/6433186.html
Copyright © 2020-2023  润新知