前端随心记---------HTTP基础

   HTTP

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
HTTP是一个基于TCP/IP通信协议来传递数据

HTTP 工作原理

HTTP协议工作于客户端-服务端架构上。
浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。
Web服务器根据接收到的请求后,向客户端发送响应信息。HTTP默认端口号为80,但是你也可以改为8080或者其他端口。

HTTP三点注意事项:

HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP 消息结构

HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

客户端请求消息
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成

服务器响应消息

HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

HTTP工作路程: 握手,请求,响应,渲染,断开连接.
HTTP请求消息: REQUEST

请求行(GET HTTP/1.1)
请求头部
空行
请求数据;null

GET和POST 的区别
GET提交的数据放在URL之后,以?分割URL和传输数据,参数之间以&相连,如 http://127.0.0.1/文件.php?name=zhangsan&&age=12,
POST方法提交的数据放在HTTP包的body中
GET提交的数据大小受限(浏览器对URL的长度限制)而POST方法提交的数据没有限制
GET方式提交数据,会带来安全问题.

cookie的特点:
文件大小4kb
读取有域名限制:不可跨域,需要在同域,同端口,同主机名,同协议
数量限制一般在50条左右
时效限制:每个cookie都会有时效,最短的有效期是会话级别

原文地址:https://www.cnblogs.com/hudunyu/p/11685483.html

时间: 2024-10-10 06:28:06

前端随心记---------HTTP基础的相关文章

前端随心记---------vuejs基础学习2.2

过滤器 filter过滤器,说白了就是一个函数. 在vuejs1.版本里面存在很多过滤器,在vuejs2.版本里面被移除 存在两种方式定义过滤器   : 1.全局     2.局部 全局: Vue.filter('filterName1', function(input, ...ret){ return ; }); Vue.filter('filterName2', function(input, ...ret){ return ; }); 局部: new Vue({ el: '', filte

前端随心记---------vuejs基础学习3.0

watch ch 和cpmpute的区别: 1.watch 表示监听某个模型变量的状态变化.watch监视的东西多一些,computed所依赖的东西都写在一个函数里. 2.特殊场景:如果业务出现了异步操作(回调函数)则这个时候computed是存在返回值,不能在使用,但是watch里面的没有返回值的概念,可以进行异步代码的调用. 小案例代码: <script type="text/javascript"> var vm = new Vue({ el: '#box', dat

前端随心记(一)

前端 基础易错题(一) 案例一::介绍js原型链继承原理,以及prototype和--proto--的区别! 1.任何一个构造函数都有一个属性prototype叫做构造函数的原型,是一个对象,并且该对象默认情况下指向Object实例,constructor指向当前构造函数,--proto--指向Object.protopyte. 2.使用构造函数实例化的对象存在一个--proto--属性,指向当前构造函数的prototype. 3.当我们调用实例对象的属性和方法时,先在自身上面进行查找[自己身上

前端随心记---------vuejs流行的UI框架

一:Element element ui框架的按钮组件,这款由饿了么前端开源的UI框架,一经面世,就收获大量程序员的芳心.在github 上更是高达29.8k的star早已说明一切.用于开发PC端的页面还是绰绰有余的.如果说你是用vue开发者,却没用过element UI,那你肯定不是合格的vue开发者. 文档地址:http://element-ui.cn 二:iview iView 是一套基于 Vue.js 的开源 UI 组件库,主要服务于 PC 界面的中后台产品.使用单文件的 Vue 组件化

前端随心记---------HTML5+CSS系列3.0

表单 u 表单的作用:用来收集用户的信息的; 表单框 : 表单 ?表单的作用:用来收集用户的信息的; 表单框 : <form name="表单名称" method="post/get" action="提交地址"> </form> <input type="text" value="默认值"/> 文本框 <input type="password"

前端随心记---------React简介(1)

React 简介: React 是一个用于构建用户界面的 JAVASCRIPT 库. React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图). React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源. React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它. React诞生的原因 主要是当时市面上的这些框架都无法满足 facebook 公司的业务需求 (1. 数据量很大,数据不好管理

前端随心记---------vuex

为什么会出现vuex? 在一些大型应用中,有时我们会遇到单页面中包含着大量的组件及复杂的数据结构,而且可能各组件还会互相影响各自的状态,在这种情况下组件树中的事件流会很快变得非常复杂也使调试变得异常困难.为了解决这种情况,我们往往会引入状态管理这种设计模式,来降低这种情况下事件的复杂程度并且使调试变得可以追踪.而 Vuex 就是一个专门给为 Vue.js设计的状态管理架构. vuex 概述 Vuex 是状态管理模式的一种实现库,主要以插件的形式和 Vue.js 进行配合使用,能够使我们在 Vue

前端随心记---------vue3.0终于来了,作者已公布源码

Vue3.0 何去何从? 就在国庆的第五天,10月5日凌晨,web前端开发框架Vuejs的作者:尤雨溪在微博宣布Vue3.0版本终于要面正式推出了!  其实,在11月14日-16日于多伦多举办的 VueConf TO 2018 大会上,尤雨溪发表了名为 “ Vue 3.0 Updates ” 的主题演讲,对 Vue 3.0 的更新计划.方向进行了详细阐述. 1.更快 Virtual DOM 完全重写,mounting & patching 提速 100% : 更多编译时(compile-time

前端随心记---------深拷贝与浅拷贝

深拷贝与浅拷贝 在前端js里面的数据类型分为两大类: 1.基本数据类型(数据传递:值拷贝) var a = 12; var b = a; // 赋值操作,是把 a 地址里面对应的值赋值给了 变量b 所对应的地址空间. b = 24; a; // 不会受到影响 数据传递:值拷贝 2.复合数据类型(引用数据类型) var obj = {id: 1, username: 'andy', todos: ['吃饭', '睡觉']}; // 复合数据类型 var xiaoming = obj; // 复合数