web基础知识

Url组成

![](https://i.imgur.com/WJ0UKcd.png)

HTTP请求方式

HTTP协议中共定义了八种方法或者叫“动作”来表明对Request-URL制定的资源的不同操作方式,具体介绍如下:

  • 1、OPTIONS: 返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送”*”的请求来测试服务器的功能性。
  • 2、HEAD: 向服务器索要与个体请求相一致的响应,只不过响应将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息
  • 3、GET: 向特定的资源发出请求。
  • 4、POST: 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。
  • 5、PUT: 向指定资源位置上传其最新内容。
  • 6、DELETE: 请求服务器删除Request-URL所标识的资源。
  • 7、TRACE: 回显服务器收到的请求,主要用于测试或诊断。
  • 8、CONNECT: HTTP/1.1协议中预留给能够将连接改为管道的代理服务器。

GET和POST的区别

GET POST
后退/刷新 无害 数据会被重新提交
书签 可收藏为书签 不可收藏为书签
缓存 能被缓存 不能缓存
编码类型 Application/x-www-form-urlencoded Application/x-www-form-urlencoded或multiparty/form-data。为二进制数据使用多重编码
历史 参数保存在浏览器历史中 参数不会保存在浏览器历史中
对数据长度的限制 当发送数据时,GET方法向URL添加数据;URL的长度是受限制的(URL的最大长度是2048个字符) 无限制
对数据类型的限制 只允许ASCII字符 没有限制。也允许二进制数据
安全性 与POST相比,GET的安全性较差,因为所发送的数据是URL的一部分。所以在发送密码等 敏感信息时绝不要使用GET。 POST比GET更加安全,因为参数不会被保存在浏览器历史或web服务器日志中。
可见性 数据在URL中对所有人都都是可见的 数据不会显示在URL中

Javascript由哪几部分组成

参考来源:https://www.jianshu.com/p/f6c94cfa3139

虽然JavaScript和ECMAScript通常被人用来表达相同的意思,但JavaScript的含义去比ECMA-262中规定的多得多。一个完整的JavaScript实现应由三个部分组成:

  • 1.核心(ECMAScript)

  • 2.文档对象模型(DOM)

  • 3.浏览器对象模型(BOM)

核心(ECMAScript)

由ECMA-262定义的ECMAScript是一种在国际认可的标准的脚本语言规范,与Web浏览器没有依赖关系。ECMA-262标准主要规定了这门语言由以下组成部分:

  • 1.语法

  • 2.变量和数据类型

  • 3.关键字和保留字

  • 4.操作符

  • 5.控制语句

  • 6.对象

2009年ECMAScript 5.0版正式发布。在很长一段时间,使用javaScript都是按照5.0的标准。2015年ECMAScript 6发布正式版本,官方称为ECMAScript 2015。ECMAScript定义了脚本语言的所有属性、方法和对象。因此抵用web客户端脚本编码时一定要遵循ECMAScript标准。

文档对象模型(DOM)

DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

浏览器对象模型(BOM)

IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的操作。


OSI模型:(即开放式通信系统互联参考模型)

OSI/RM协议是由IOS(国际标准化组织)制定的,他有三个基本功能:提供给开发者一个必须的、通用的概念以便开发完善、可以用来解释不同系统的框架

OSI将计算机网络体结构划分为七层:

  1. 物理层:将数据转化为可通过物理介质传送的电子信号。相当于有剧中的搬运工人。
    物理层规定了激活、维持、关闭通信端点之间的机械性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。
    在这一层,数据单位为比特(bit)。
    属于物理层定义的典范规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。

  2. 数据链路层:决定访问网络介质的方式。在此层将数据分帧,并处理流控制。本层指定拓补结构并提供硬件寻址。相当于邮局中的拆装箱工人。
    数据链路层在不可靠的物理介质上提供可靠的传输。
    该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
    在这一层,数据的单位成为帧。
    数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。

  3. 网络层:使用权数据路由经过大型网络。相当于邮局中的排序工人。
    网络层负责对子网间的数据包进行路由选择。网络层还可以实现拥塞控制、网际互联等功能。
    在这一层数据的单位成为数据包。
    网络层协议的代表包括:IP、PX、IP、SPF、RP、ARP、CMP、MP等。

  4. 传输层:提供终端到终端的可靠连接。相当于公司中跑邮局的送信职员。
    传输层是第一个端到端,即主机到主机的层次。传输层负责将数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
    在这一层输局的单位称为数据端。
    传输层协议的代表包括:TCP、UDP、SPX等。

  5. 会话层:允许用户使用简单易记的名称建立连接。相当于公司中收寄信、写信封与拆信封的秘书。
    会话层管理主机之间的会话进程即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。

  6. 表示层:协商数据交换格式。相当于公司中简报老板、替老板写信的助理。
    表示层对上层数据或信息进行变换以保证一个主机应用层的信息可以被另一个主机的应用程序理解。表示层的数据转换包括输局的加密、压缩、格式转换等。

  7. 应用层:用户的应用程序和网络之间的接口老板。
    应用层为操作系统或网络应用程序提供访问网络服务的接口。
    应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。


TCP三次握手,四次挥手

TCP三次握手:

第一次握手:客户端发送syn包(syn=x)到服务器,并进入到SYN_SEND状态,等待服务器确认。

第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=x+1),同时自己也发送一个SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。

第三次握手:客户端收到服务区的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端进入ESTABLISHED状态,完成三次握手。

握手构成中传送的包里不含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方的任何一方主动关闭连接前,TCP链接都将被一直保持下去。
确认号:其数值等于发送方的发送序号+1(即接收方期望接受的下一个序列号)。

TCP四次挥手:

第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送。

第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1(与SYN相同,一个FIN展映一个序号)。

第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发送数据。

第四次挥手:主动关闭方收到一个FIN包后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手。


AbelChe wechat
扫码加微信
Donate here!!!
0%