HTTP协议、正则表达式、JSON使用

1、什么是HTTP协议?

  HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。 HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。

2、HTTP请求包含那几部分?

    http请求由请求行,消息报头,请求正文三部分构成。

    HTTP请求行:请求行由请求Method, URL 字段和HTTP Version三部分构成, 总的来说请求行就是定义了本次请求的请求方式, 请求的地址, 以及所遵循的HTTP协议

    HTTP请求头:消息报头由一系列的键值对组成,允许客户端向服务器端发送一些附加信息或者客户端自身的信息。

    请求正文:HTTP URL 包含了用于查找某个资源的详细信息, 格式:http://host[":"port][abs_path]?参数1=值1&参数2=值2

3、HTTP协议的方法有哪些?

  GET: 请求获取Request-URI所标识的资源

  POST: 在Request-URI所标识的资源后增加新的数据

  HEAD: 请求获取由Request-URI所标识的资源的响应消息报头

  PUT: 请求服务器存储或修改一个资源,并用Request-URI作为其标识

  DELETE: 请求服务器删除Request-URI所标识的资源

  TRACE: 请求服务器回送收到的请求信息,主要用于测试或诊断

  CONNECT: 保留将来使用

  OPTIONS: 请求查询服务器的性能,或者查询与资源相关的选项和需求

4、HTTP响应状态码有哪些?

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

  • 1xx:指示信息 - 表示请求已接收,继续处理

  • 2xx:成功 - 表示请求已被成功接收、理解、接受

  • 3xx:重定向 - 要完成请求必须进行更进一步的操作

  • 4xx:客户端错误 - 请求有语法错误或请求无法实现 *

  • 5xx:服务器端错误 - 服务器未能实现合法的请求

常见状态代码、状态描述、说明:

 200: OK - 客户端请求成功

 400: Bad Request - 客户端请求有语法错误,不能被服务器所理解

 401: Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

 403: Forbidden - 服务器收到请求,但是拒绝提供服务

 404: Not Found - 请求资源不存在,eg:输入了错误的URL

 500: Internal Server Error - 服务器发生不可预期的错误

 503: Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后,可能恢复正常

5、HTTP的五大特点是什么?

  1. 支持客户/服务器模式。

  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GETHEADPOST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  3. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

  4. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。早期这么做的原因是请求资源少,追求快。后来通过Connection: Keep-Alive实现长连接

  5. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

6、什么是HTTPS?

  HTTP 协议中没有加密机制,但可以通 过和 SSL(Secure Socket Layer, 安全套接层 )或 TLS(Transport Layer Security, 安全层传输协议)的组合使用,加密 HTTP 的通信内容。属于通信加密,即在整个通信线路中加密。 HTTP + 加密 + 认证 + 完整性保护 = HTTPS。

  HTTPS 采用共享密钥加密(对称)和公开密钥加密(非对称)两者并用的混合加密机制。若密钥能够实现安全交换,那么有可能会考虑仅使用公开密钥加密来通信。但是公开密钥加密与共享密钥加密相比,其处理速度要慢。

7、什么是正则表达式?

    正则表达式(Regular Expression)其实就是一门工具,目的是为了字符串模式匹配,从而实现搜索和替换功能。它起源于上个20世纪50年代科学家在数学领域做的一些研究工作,后来才被引入到计算机领域中。从它的命名我们可以知道,它是一种用来描述规则的表达式。

8、正则对象中的两个方法是什么?有什么作用?

  • test():

    test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

  • exec()

    exec() 方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

9、什么是JSON?有什么优点?

        JSON 全称为 JavaScript Object Notation,是一种轻量级的数据交换格式。它是 JavaScript 中用于描述对象数据的语法的扩展。不过并不限于与 JavaScript 一起使用。它采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于阅读和编写,同时也易于机器解析和生成。所有现代编程语言都支持这些数据结构,使 JSON 完全独立于语言。

优点:

  • 紧凑、高效的格式:JSON 语法提供了简单的数据解析和更快的实现;
  • 易于阅读:人类和计算机都可以快速解释语法且错误最少;
  • 广泛支持:大多数语言、操作系统和浏览器都可以使用开箱即用的 JSON,这允许使用 JSON 而不存在兼容性问题;
  • 自我描述:很容易区分数据类型,并且更容易解释数据,而无需提前知道会发生什么;
  •  格式灵活:JSON支持多种数据类型,可以组合起来表达大多数数据的结构。

10、JSON 序列化与反序列化指的是什么?如何实现的?

JSON 提供了两种方法:

  • JSON.parse() :将数据转换为 JavaScript 对象。把字符串转换为数据对象过程,叫做反序列化

  • JSON.stringify() :将 JavaScript 对象转换为字符串;把数据转换为字符串的过程,叫序列化

11、什么是同步?什么是异步?异步请求的好处?

        同步(Synchronous):所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。

        异步(Asynchronous):异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态、通知和回调来通知调用者。对于异步调用,调用的返回并不受调用者控制。

异步请求的好处:

        1、可以同时请求加载数据,提升用户体验

        2、避免整个页面刷新,实现(局部)无刷新效果

12、什么是AJAX?

        Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest 、使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。XMLHttpRequest(XHR)对象用于与服务器交互。

        通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。XMLHttpRequestAJAX 编程中被大量使用。

        核心对象:XMLHttpRequest ,用来实现异步数据请求(传输),实现无刷新效果(局部刷新),用户体验感更好。

        AJAX(Asynchronous JavaScript And XML )是一种使用 XMLHttpRequest 技术构建更复杂,动态的网页的编程实践。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值