美文网首页
HTTP&HTTPS&AJAX&JSON--源动力

HTTP&HTTPS&AJAX&JSON--源动力

作者: 苦难_69e0 | 来源:发表于2021-10-09 16:31 被阅读0次

    HTTP

    什么是HTTP?

    超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法

    我们可以从以下几个方面来了解HTTP:
    1.HTTP协议的主要特点
    2.HTTP报文的组成部分
    3.HTTP方法
    4.get 和 post的区别
    5.HTTP状态码

    HTTP协议的主要特点

    简单快速
    每个资源(比如图片、页面)都通过 url 来定位。这都是固定的,在http协议中,处理起来也比较简单,想访问什么资源,直接输入url即可。

    灵活
    http协议的头部有一个数据类型,通过http协议,就可以完成不同数据类型的传输。

    无连接
    连接一次,就会断开,不会继续保持连接

    无状态
    客户端和服务器端是两种身份。第一次请求结束后,就断开了,第二次请求时,服务器端并没有记住之前的状态,也就是说,服务器端无法区分客户端是否为同一个人、同一个身份。有的时候,我们访问网站时,网站能记住我们的账号,这个是通过其他的手段(比如 session)做到的,并不是http协议能做到的。

    HTTP报文的组成部分

    image.png

    HTTP方法

    主要包含:
    GET:获取资源
    POST:传输资源
    put:更新资源
    DELETE:删除资源
    HEAD:获得报文首部
    get 和 post 比较常见,其他较少。

    get 和 post的区别

    image.png

    http状态码

    http状态码分类:

    image.png

    状态码查询:https://www.runoob.com/http/http-status-codes.html

    Content-Type

    Content-Type 标头告诉客户端实际返回的内容的内容类型。

    conten-type查询:https://www.runoob.com/http/http-content-type.html

    image.png

    HTTP通信传输

    image.png

    HTTPS

    什么是HTTPS?

    HTTPS是身披SSL外壳的HTTP。HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。

    PS:TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分。

    HTTPS特点:

    基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护

    通过抓包可以看到数据不是明文传输,而且HTTPS有如下特点:
    1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
    2.验证身份:通过证书认证客户端访问的是自己的服务器
    3.保护数据完整性:防止传输的内容被中间人冒充或者篡改

    • 收方能够证实发送方的真实身份;
    • 发送方事后不能否认所发送过的报文;
    • 收方或非法者不能伪造、篡改报文。

    HTTPS实现原理

    image.png

    AJAX

    在讲Ajax之前我们先了解一下同步和异步。

    同步和异步的概念
    同步:必须等待前面的任务完成,才能继续后面的任务。
    异步:不受当前任务的影响。

    异步更新
    我们在访问一个普通的网站时,当浏览器加载完HTML、CSS、JS以后,网站的内容就固定了。如果想让网站内容发生更改,就必须刷新页面才能够看到更新的内容。

    可如果用到异步更新,情况就大为改观了。比如,我们在访问新浪微博时,看到一大半了,点击底部的加载更多,会自动帮我们加载更多的微博,同时页面并没有刷新。

    试想一下,如果没有异步刷新的话,每次点击“加载更多”,网页都要刷新,体验就太不好了。

    web前端里的异步更新,就要用到 Ajax

    Ajax 的概念

    在浏览器中,我们可以在不刷新页面的情况下,通过ajax的方式去获取一些新的内容。

    Ajax:Asynchronous Javascript And XML(异步 JavaScript 和 XML)。它并不是凭空出现的新技术,而是对于现有技术的结合。Ajax 的核心是 js 对象:XMLHttpRequest。

    一个完整的HTTP请求需要的是:

    • 请求的网址、请求方法get/post。
    • 提交请求的内容数据、请求主体等。
    • 接收响应回来的内容。

    Ajax的请求步骤

    (1)创建异步对象。即 XMLHttpRequest 对象。
    (2)使用open方法设置请求的参数。open(method, url, async)。参数解释:请求的方法、请求的url、是否异步。
    (3)发送请求。
    (4)注册事件。 注册onreadystatechange事件,状态改变时就会调用。
    如果要在数据完整请求回来的时候才调用,我们需要手动写一些判断的逻辑。
    (5)获取返回的数据。

    XMLHttpRequest 对象详解

    发送请求:

    • open(method, url, async);

    参数解释:

    • method:请求的类型;GET 或 POST
    • url:文件在服务器上的位置
    • async:true(异步)或 false(同步)

    POST请求注意:

    • send(string); //string要发送的内容
    • xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//定义发送内容的格式

    onreadystatechange 事件
    注册 onreadystatechange 事件后,每当 readyState 属性改变时,就会调用 onreadystatechange 函数。
    readyState:(存有 XMLHttpRequest 的状态。从 0 到 4 发生变化)

    • 0: 请求未初始化
    • 1: 服务器连接已建立
    • 2: 请求已接收
    • 3: 请求处理中
    • 4: 请求已完成,且响应已就绪
      status:
    • 200: "OK"。
    • 404: 未找到页面。
      在 onreadystatechange 事件中,当 readyState 等于 4,且状态码为200时,表示响应已就绪。

    服务器响应的内容

    • responseText:获得字符串形式的响应数据。
    • responseXML:获得 XML 形式的响应数据。

    如果响应的是普通字符串,就使用responseText;如果响应的是XML,使用responseXML。

    JSON

    JSON 的语法
    JSON(JavaScript Object Notation):是ECMAScript的子集。作用是进行数据的交换。
    语法更为简洁,网络传输、机器解析都更为迅速。

    语法规则:

    • 数据在键值对中
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组

    数据类型:

    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true 或 false)
    • 数组(在方括号中)
    • 对象(在花括号中)
    • null
    image.png

    JSON对象和字符串转换

    JSON.parse():将JSON字符串转化为 js 对象
    JSON.stringify():将 JS 对象转化为JSON字符串。

    相关文章

      网友评论

          本文标题:HTTP&HTTPS&AJAX&JSON--源动力

          本文链接:https://www.haomeiwen.com/subject/saotiltx.html