前后端分离方式与前后端不分离方式之间的一个重要的区别是,前者不进行模板渲染便将其返回给浏览器,仅提供标准结构的数据资源。...在目前主流的3种Web服务交互方案中,REST相比于SOAP(Simple Object Access Protocol,简单对象访问协议)及XML-RPC更加简单明了,无论是对URL进行处理还是对Payload...要让数据资源被浏览器访问,需要提供一个唯一标识。在Web中,这个唯一标识就是URL(Uniform Resource Locator,统一资源定位符)。...2.统一资源接口 有了数据资源和访问地址后,RESTful为浏览器端的访问提供了4种常用HTTP标准访问方式,用于传递数据。 GET:从服务器端获取数据资源。 POST:在服务器端建立一个数据资源。...3.常用返回状态码 HTTP的返回状态码是纯数字的,如404、200等,不太容易理解,RESTful提供了统一标准的文字标识符,如表1所示,更有助于使用人员理解。
那时,所有的访问请求都由人工手动完成,若在数据库中没有找到请求者所需要的文件,或是由于请求者写错了文件编号,他们就会得到一个“room 404 : file not found”返回信息。...当然,经实际考证后发现传说中的room 404并不存在,在HTTP请求3位的返回码中,4开头的代表客户错误。...而在中国,“404错误”有了更多延伸意思,既可能是网页不存在,还可能是内容非法,或是内容创作者主动删去。 其实,我们想说,尽管人类创造了网络技术,它也受我们所控制,但它却并非完全可靠。...为了避免错误地址访问,程序员想出了一个很简单的方法,即指定错误类别的数字范围,而‘404错误’就是程序员为让使用者连接网络错误时,知道自己错在哪而设置的。...最后,我们想说的是,不管如何,像“404错误”这样的HTTP状态码会一直存在于网络世界之中。
django知识分支 1.Cookie工作流程: 浏览器向服务器发出请求,服务器接收到浏览器的请求进行处理,服务器设置一个cookie发送给浏览器,浏览器将cookie保存,当需要再次登录的时候,浏览器将本地的...cookie发送给服务器,进行数据交互 Session工作流程: 浏览器向服务器发送请求,服务器接收到浏览器的请求进行处理,服务器设置一个session的key值发送给浏览器,浏览器接收到服务器发送的...HttpResponse:是django的方法,返回格式为HttpResponse(content=响应体,content_type=响应体类型,status=状态码),可以修改返回的数据类型 HttpResponseRedirect..._404:查找对象 如果出异常就返回404页面 eg:get_object_or_404(模型类名,查找条件) get_list_or_404:查找列表 如果出异常就返回404页面 eg:get_list_or...) _get_queryset:该方法可以返回一个量身定制的对象列表 5.编写代码实现通用视图函数View的get与post接口 一个简单的通用视图函数类 from django.views. generic
Nginx学习:HTTP核心模块(九)浏览器缓存与try_files 浏览器缓存在 Nginx 的 HTTP 核心模块中其实只有两个简单的配置,这一块也是 HTTP 的基础知识。...浏览器缓存 在 HTTP 协议中,有许多和浏览器缓存有关的选项,而在 Nginx 的核心配置中,也有两个与之相关的配置。...然后第二次请求的时候,浏览器就会带上 if_modified_since ,服务端会返回 304 表示使用本地缓存就可以了。 这是在默认情况下。...这样的话,如果我们手动修改文件的时间,将时间修改到当前时间之后很长的一段时间,那么就可以让浏览器在非强刷的状态下一直返回 304 。...$query_string; } 在全局的 location 中,访问 uri 页面或者 uri/ 目录,找不到文件的话,会转给 /index.php,并且把请求行的 GET 参数转给 /index.php
通常, 它用于告知服务端两个请求是否来自同一浏览器, 如保持用户的登录状态、 记录用户偏好等! 简单来说,就是记录用户的一个标记,便于服务器识别用户!...: 查看浏览器收到的对应的Cookie: 下面我们尝试错误密码输入: 也是可以成功登录: 这里无密码也是可以成功登录的: 下面我们已经保存了正确的Cookie,上面是get请求,下面我们验证下post请求...session工作的例子: 比如用户访问一个服务器,然后登录上,此时服务器机会创建对应唯一的session-id来标识对应资源,然后作为Cookie返回给浏览器;接下来用户在进行购物车添加的时候,对应的维护在服务端的...BUG-2: 也是一直困扰了博主半天的bug,当时由于没看底层tcp是如何实现的,导致了一直就是一开始成功发送session,而且浏览器也发给服务器了,但是服务器却查找资源没找到;找了几个小时,把那些头文件都看了个遍...解决方案1: 只为了追求出测试效果,可以考虑单进程,但是这样就会出现服务器压力过大,反应慢,甚至加载不出来等(比如加载一个动图需要服务器那边的进程一直执行,而当用户在浏览器继续点击的时候又会发送请求,此时服务器就无法应答
想知道你的网页中有多少元素,通过在浏览器中的一条简单命令就可以算出, document.getElementsByTagName('*').length 避免404 404我们都不陌生,代表服务器没有找到资源...,我们要特别要注意404的情况不要在我们提供的网页资源上,客户端发送一个请求但是服务器却返回一个无用的结果,时间浪费掉了。...更糟糕的是我们网页中需要加载一个外部脚本,结果返回一个404,不仅阻塞了其他脚本下载,下载回来的内容(404)客户端还会将其当成Javascript去解析。...这对内容比较多的网页尤其重要,用户不用一直等待在一个白屏上,而是可以先看已经下载的内容。 ...使用外部Javascirpt和CSS文件 使用外部Javascript和CSS文件可以使这些文件被浏览器缓存,从而在不同的请求内容之间重用。
Socket是包括IP地址(在网络中是唯一的)和端口(对于特定的IP地址是唯一的)的元组,计算机使用IP地址和端口与其他计算机通信。Socket类似文件,可以打开和关闭,也可以读写。...Web浏览器是一种能够发送HTTP请求并解释响应内容的软件,只要这些内容是HTML文件(以及许多其他文件类型,如图像或视频)。因此,浏览器可以呈现返回信息的内容。...master/1_sockets_and_parsers) 1.4 问题 上面的程序让你有点了点成就感,你从头开始构建了一个项目,然后发现它可以与你每天使用的浏览器等成熟的软件顺利地协同工作。...我还认为,有趣的是,像HTTP这样的技术,现在基本上遍布全世界了,但它们的核心非常简单。 在上面的操作中,HTTP的许多特性都没有在简单socket 编程中涉及到。...我们不想花时间去理解TCP/IP套接字(socket)的微妙之处,也不想为请求——响应协议编写解析器。很高兴看到这些技术的工作原理,但是在日常工作中,我们需要关注更高层次的东西。
前言:在当今这个数字化迅猛发展的时代,互联网已经成为连接全球信息与服务的桥梁。而在这浩瀚的网络海洋中,HTTP(超文本传输协议)作为互联网上应用最广泛的一种协议,扮演着举足轻重的角色。...它是构成现代Web的核心协议之一,为浏览器和服务器之间的通信提供了一种标准化的方式。 HTTP的基本工作原理: HTTP协议基于请求-响应模型工作。...GET 用于请求指定的页面信息,并返回实体主体。...服务器通过Session ID找到对应的Session,从而识别出请求来自哪个客户端 这里我们简单了解个大概就可以了,感兴趣的童鞋可以去深入了解一下,我这里就不过多展开了,最后我简单的实现了一下HTTP...正如HTTP协议本身,它虽简单却强大,能够适应并驱动着互联网的不断变革。在这个快速变化的时代,持续学习、勇于探索未知,是我们作为技术人的不变使命。
(后面会有http状态码的详细解读) 三.JQuery中的Ajax JQuery对原生Ajax做了很好的封装,使用起来非常简单方便,具体的很多方法如 $.ajax,$.post, $.get, $.getJSON...作为Ajax最常用的两种数据提交方式,GET和POST有着自己的特点和适用场景,正确区分GET和POST的不同并根据实际需要进行选用在开发中十分重要,简单但是关键! ?...跨域访问时一个很重要的知识点,之前专门写过一篇关于跨域访问的总结,还挺详细的,可以移步查看: javascript中实现跨域的方式总结 九.再议HTTP状态码 前面提到的"200"、"404"只是http...http请求中的一个重要关注点就是请求头和响应头的内容,从这两个头文件中可以看出很多东西,当我们用发送一个ajax请求的时候,如果没有达到预期的效果,那么就需要打开浏览器的调试工具,从NetWork中找到相应的...(3)可以把一些原本服务器的工作转接到客户端,利用客户端闲置的能力来处理,减轻了服务器和带宽的负担,节约空间和宽带租用成本。 (4)基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
HTTP 协议刻意设计得简单: 客户端通过套接字发送一个请求,指定请求的东西,服务器在响应中返回一些数据(如下图)。该数据或许复制自硬盘上的文件,或许由程序动态生成,或是二者的混合。 ?...状态码是一个数字,用来指示在处理请求时所发生的事情: 200 意味着 "一切工作正常",404 意味着 "没有找到",其他状态码也分别有着各自的含义。...每次浏览器返回 cookie,服务器通过 cookie 寻找关于用户行为的信息。 我们需要了解的第二点是,可以填充参数以提供更多的信息。比如说,如果我们使用搜索引擎,我们需要指定关键词。...:26:28] "GET /favicon.ico HTTP/1.1" 200 - 第一行很简单: 因为我们没有要求一个特定的文件,浏览器便请求 '/'(任何正常工作服务器的根目录)。...扫清上述隐患,核心理念很简单: 在一个子进程中运行该程序。 捕获子进程发送到标准输出的一切。 返回给发起请求的客户端。
,服务器能够返回一个404的页面) 3、服务器能进行简单的cgi运行。...它是应用层的协议,底层是基于TCP通信的。HTTP协议的工作过程:客户通过浏览器向服务器发送文档请求,浏览器将请求的资源回应给浏览器,然后关闭连接。即:连接->请求->响应->关闭连接。...非cgi模式: 进入非cgi模式时一定是GET方法且没有参数,此时进入echo_www()函数内部即可,该函数会将所请求的资源以html的格式返回给浏览器。...在这个过程中可以将父进程看作一个所谓的中间量,只进行了参数的转交,因此可以将子进程的输入输出文件描述符进行重定向,即子进程直接与浏览器“联系”。...例如当请求的资源不存在时,服务器需要返回给浏览器一个默认的404页面,告诉客户请求的资源不存在。
ack=seq+1; 7、2XX、3XX、4XX、5XX分别代表的含义,以及常见的 简单版: [ 1XX-信息类(Information),表示收到Web浏览器请求,正在进一步的处理中 2XX-成功类...原因很简单,NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。...访问该服务器会一致性的返回302,让用户浏览器跳转到预处理好的带广告的网页,在该网页中再通过iframe打开用户原来访问的地址。...后续做法往往分为2种,1种是类似DNS劫持返回302让用户浏览器跳转到另外的地址,还有1种是在服务器返回的HTML数据中插入js或dom节点(广告)。...19、面向连接和非面向连接的服务的特点是什么? 面向连接的服务,通信双方在进行通信之前,要先在双方建立起一个完整的可以彼此沟通的通道,在通信过程中,整个连接的情况一直可以被实时地监控和管理。
,如果不设置允许跨域,浏览器就会自动报错,跨域资源 的安全问题。...中而做出的重定向处理,当然如果你也是网站的管理员,也能根据中间件做些反爬的措施。...Http状态码 来判断是否正常的返回。...那如果根据上面的写法,我直接返回一个 404 或者 304 的状态码,但是响应数据却正常,那么这个爬虫岂不是什么都爬不到了么。所以,嘿嘿你懂的!!...容器,通过端口映射可以很轻松访问到你部署的应用。
其它的例如隐藏部分的内容(用户操作之后才显现的内容)和处于折叠部分的图像也可以推迟加载 工具可以节省你的工作量: YUI Image Loader可以帮你推迟加载折叠部分的图片,YUI Get...有些站点把404错误响应页面改为“你是不是要找***”,这虽然改进了用户体验但是同样也会浪费服务器资源(如数据库等)。最糟糕的情况是指向外部JavaScript的链接出现问题并返回404代码。...首先,这种加载会破坏并行加载;其次浏览器会把试图在返回的404响应内容中找到可能有用的部分当作JavaScript代码来执行。 11....在这期间,浏览器会一直空闲等待数据返回。...它是必定存在的,因为即使你不关心它是否有用,浏览器也会对它发出请求,因此最好不要返回一个404 Not Found的响应。由于是在同一台服务器上,它每被请求一次coockie就会被发送一次。
合并文件是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS文件都放入一个样式表中。...其它的例如隐藏部分的内容(用户操作之后才显现的内容)和处于折叠部分的图像也可以推迟加载 工具可以节省你的工作量:YUI Image Loader可以帮你推迟加载折叠部分的图片,YUI Get...首先,这种加载会破坏并行加载;其次浏览器会把试图在返回的404响应内容中找到可能有用的部分当作JavaScript代码来执行。...在这期间,浏览器会一直空闲等待数据返回。...它是必定存在的,因为即使你不关心它是否有用,浏览器也会对它发出请求,因此最好不要返回一个404 Not Found的响应。由于是在同一台服务器上,它每被请求一次coockie就会被发送一次。
大多数在Linux服务器中,而在Linux当中,一切皆文件,所以 网络上获取的所有资源本质上都是文件! ...由于客户端是浏览器,所以我们不需要序列化和反序列化工作,因为浏览器已经将这个工作给做了。 ...Content-Type表示资源的数据类型,资源类型必须得提前在代码当中定义好,如果你拿着一个js文件返回给浏览器,但是却告诉浏览器这个文件是html文件,这就可能会导致一些无法预测的问题,不过浏览器还是很聪明的...以上这些方法一般都不是由后端代码来完成的,不过如果想要处理这些请求后端也可以处理,一般这些都属于前端页面的请求方法,我们可以通过 HTML表单 来获取简单的前段页面,而以上方法中最重要的莫过于 GET...就拿简单的登录页面来说,我们登录页面实际上在前端代码中,就是一个form表单: 我们可以看到在搜索框内出现的网址,在前端页面上我们指定了要上传资源的路径,以及使用方法,在网址中,我们看到除了前端页面以外
2.4 HTTP请求方法 HTTP协议中定义的请求方法有以下几种: 序号 方法 描述 1 GET 请求指定的页面信息,并返回实体主体。...2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头 3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。...因为其他几种方法通过GET或者POST都能实现,而且对于网站来说更加的安全和可控。 GET 其实简单来说,GET方法一般用来负责获取数据,或者将一些简短的数据放到URL参数中传递到服务器。...而在我们的Cookie来说,都有一个domain属性,这个属性限制了访问哪些域名时可以使用这一条Cookie。...而在同一系的域名中,顶级域名是无法使用其二级域名的Cookie的,也就是说访问baidu.com的时候是不会带上map.baidu.com分发的Cookie的,二级域名之间的Cookie也不可以共享。
而在 IE 中,目标包含在 event 对象的 srcElement 属性; 获取字符代码、如果按键代表一个字符(shift、ctrl、alt除外),IE 的 keyCode 会返回字符代码(Unicode...优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会针对旧版本的IE进行降级处理了,使之在旧式浏览器上以某种形式降级体验却不至于完全不能用。...(1)简单版 [ 100 Continue 继续,一般在发送post请求时,已发送了httpheader之后服务端将返回此信息,表示确认,之后发送具体参数信息...302——请求的网页被转移到一个新的地址,但客户访问仍继续通过原始URL地址,重定向,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的Request。...303——建议客户访问其他URL或访问方式 304——自从上次请求后,请求的网页未修改过,服务器返回此响应时,不会返回网页内容,代表上次的文档已经被缓存了,还可以继续使用 305——请求的资源必须从服务器指定的地址得到
习惯了文件系统的我们一直都觉得 ls 命令应该会把文件全部 list 出来,对于 s3cmd ls 我一开始也是这么理解的。...直到有一天,同事通过 s3cmd delete 删除了一个文件,执行 s3cmd ls 竟然返回200,但是 s3cmd get 却返回404,这就很奇怪了,用户明明已经删了对象,为何 ls 得到呢,这不合理...,当然 get 不到,那才是合理的,那么 get 不应该 ls 得到啊。...于是去看了下 s3cmd 的源码,发现 s3cmd ls 只要 bucket 存在,就一定会返回200,不管要 ls 的 object 存不存在,于是做了个实验,去 ls 一个从来不存在的 object...感兴趣的话,可以去看下这块代码,确认一下。 https://github.com/s3tools/s3cmd/blob/master/S3/S3.py#L324