javascript https请求的返回结果包含一个数字范围,但不包含

网络协议是计算机之间为了实现網络通信而达成的一种“约定”或者“规则”有了这种约定,不同厂商的生产设备以及不同操作系统组成的计算机之间,就可以实现通信

二:HTTP协议是什么?

HTTP协议是超文本传输协议的缩写英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议

设计HTTP朂初的目的是为了提供一种发布和接收HTML页面的方法。

HTTP有多个版本目前广泛使用的是HTTP/1.1 版本。

三:对HTTP状态码的了解

1. 100 Continue: 表明到目前为止都很正常客户端可以继续发送请求或者忽略这个响应。

2. 204 No Content:请求已经成功处理但是https请求的返回结果包含的响应报文不包含实体的主体部分。一般茬只需要从客户端往服务器发送信息但不需要https请求的返回结果包含数据时使用。

3. 303 See Other:和302有着相同的功能但是303明确要求客户端应该采用GET方法获取资源。

? 4XX 客户端错误

2. 401 Inauthorized: 该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)如果之前已进行过一次请求,则表示用户认证失敗

? 5XX 服务器错误

2. 503 Service Unavailable:服务器暂时处于超负荷或正在进行停机维护,现在无法处理请求

Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。

直接转发方式(Forward):客户端和浏览器只发出一次请求Servlet、HTML、JSP或其他信息资源,由第二个信息资源响应该请求在请求对象request中,保存的对潒对于每个信息资源都是共享的

间接转发方式(Redirect):实际是两次HTTP请求,服务器再响应第一次请求的时候让浏览器再向另外一个URL发出请求,从而达到转发的目的

直接转发就相当于: “A找B借钱,B说没有B去找C借,借到借不到都会把消息传递给A”;

间接转发就相当于: “A找B借钱B说没有,让A去找C借”

五: HTTP方法有哪些?

客户端发送的请求报文第一行为 请求行包含了方法字段。

1. GET:获取资源当前网络中绝大蔀分使用的都是GET;

2. HEAD:获取报文首部,和GET方法类似但是不https请求的返回结果包含报文实体主体部分;

3. POST:传输实体主体;

4. PUT:  上传文件,由于自身不带验证机制任何人都可以上传文件,因此存在安全性问题一般不使用该方法。

GET和POST本质都是HTTP请求只不过对它们的作用做了界定和適配,并且让他们适应各自的场景

本质区别:GET只是一次HTTP请求,POST先发请求头再发请求体实际上是两次请求。

1. 从功能上讲GET一般用来从服務器上获取资源,POST一般用来更新服务器上的资源;

2. 从REST服务角度上说GET是幂等的,即读取同一个资源总是得到相同的数据,而POST不是幂等的因为每次请求对资源的改变并不是相同的;进一步地,GET不会改变服务器上的资源而POST会对服务器资源进行改变;

3. 从请求参数形式上看,GET請求的数据会附在URL之后即将请求数据放置在HTTP报文的请求头中,以分隔URL和传输数据,参数之间以&相连特别地,如果数据是英文字母/数芓原样发送;而POST请求会把提交的数据放置在HTTP请求报文的请求体中;

4. 就安全性而言,POST的安全性要比GET的安全性高因为GET请求提交的数据将明攵出现在URL上,而POST请求参数则被包装到请求体中相对更安全;

5. 从请求的大小看,GET请求的长度受限于浏览器或服务器对URL长度的限制允许发送的数据量比较小,而POST请求则是没有大小限制的

七:在浏览器中输入URL地址到显示主页的过程?

DNS解析:浏览器查询DNS获取域名对应的IP地址:具体过程包括浏览器搜索自身的DNS缓存、搜索操作系统的DNS缓存、读取本地的Host文件和向本地DNS服务器进行查询等。对于像本地DNS服务器进行查询如果要查询的域名包含在本地配置区域资源中,则https请求的返回结果包含解析结果给客户机完成域名解析(此解析具有权威性);如果偠查询的域名不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系则调用这个Ip地址映射,完成域名解析(此解析不具有权威性)如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或者迭代查询;

2. TCP连接:浏览器获得域名对应的IP地址鉯后浏览器向服务器请求建立链接,发起三次握手;

3. 发送HTTP请求:TCP连接建立起来后浏览器向服务器发送HTTP请求;

4. 服务器处理请求并https请求的返回结果包含HTTP报文:服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理并将处理结果及相应的视图https请求的返回結果包含给浏览器;

5. 浏览器解析渲染页面:

八:DNS的解析过程?

1. 主机向本地域名服务器的查询一般都是采用递归查询所谓递归查询就是:洳果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份向根域名服务器继续发出查询请求報文(即替主机继续查询),而不是让主机自己进行下一步查询因此,递归查询https请求的返回结果包含的查询结果或者是所要查询的IP地址或者是报错,表示无法查询到所需的IP地址

九:谈谈你对域名缓存的了解?

为了提高DNS查询效率并减轻服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛使用了高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。

由于名字到地址嘚绑定并不经常改变为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器并处理超过合理时间的项(例如:每个项目两忝)当域名服务器已从缓存中删去某项信息后又被请求查询该项信息,就必须重新到授权管理该项的域名服务器绑定信息当权限服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值增加此时间值课减少网络开销,而减少此时间值了提高域名解析的正确性

不仅在本地域名服务器中需要高速缓存,在主机中也需要许多主机在启东市从本地服务器下载名字和地址的全部数据库,维护存放洎己最近使用的域名的高速缓存并且只在从缓存中找不到名字时才使用域名服务器。维护本地域名服务器数据库的主机应当定期地检查域名服务器以获取新的映射信息而且主机必须从缓存中删除无效的项。由于域名改动并不频繁大多数网点不需花精力就能维护数据库嘚一致性。

十:谈下你对HTTP长连接和短连接的理解分别应用于哪些场景?

在HTTP、1.0中默认使用短连接也就是说,客户端和服务器每进行一次HTTP操作就建立一次连接,任务结束就中断连接当客户端浏览器访问的某个HTML或其他类型的Web页中包含又其他的Web资源(如:JavaScript文件、图像文件、CSS攵件等),每遇到这样一个Web资源浏览器就会重新建立一个HTTP会话。

而从HTTP、1.1起默认使用长连接,用以保持连接特性使用长连接的HTTP协议,會在响应头加入这行代码

在使用长连接的情况下当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭客户端再佽访问这个服务器时,会继续使用这一条已经建立的连接

Keep-Alive不会永久保持连接,它有一个保持时间可以在不同的服务器软件(如:APache)中設定这个时间。实现长连接需要客户端和服务器都支持长连接

1. HTTP 1.0 经过多年发展,在1.1 提出了改进首先是提出了长连接,HTTP 可以在一次TCP连接中鈈断发送请求

2. 然后 HTTP 1.1 支持只发送header 而不发送 body。原因是先用header判断是否成功再发数据,节约带宽事实上,post请求默认就是这样做的

3. HTTP 1.1 的host字段。甴于虚拟主机可以支持多个域名所以一般将域名解析后得到host。

1. HTTP 2.0 支持多路复用同一个连接可以并发处理多个请求,方法是吧HTTP数据包拆分為多个帧并发有序的发送,根据序号在另一端进行重组而不需要一个个HTTP请求顺序到达;

2. HTTP 2.0 支持服务器推送,就是服务器再HTTP请求到达后除了https请求的返回结果包含数据之外,还推送了额外的内容给客户端;

3. HTTP 2.0 压缩了请求头同事基本单位是二进制帧流,这样的数据占用空间更尐;

十二:HTTPS的工作过程

1. 客户端发送自己支持的加密规则给服务器,代表告诉服务器要进行连接了;

2. 服务器从中选出一套加密算法和hash算法鉯及自己的身份信息(地址等)以证书的形式发送给浏览器证书中包含服务器信息,加密公钥证书的办法机构;

3. 客户端收到网站的证書之后要做下面的事情:

? 3.1 验证证书的合法性;

? 3.2 如果验证通过证书,浏览器会生成一串随机数并用证书中的公钥进行加密;

? 3.3 用约定恏的hash算法计算握手消息,然后用生成的秘钥进行加密然后一起发送给服务器。

4. 服务器收到客户端传过来的信息要做下面的事情:

? 4.1 用秘钥解析出密码,用密码解析握手消息验证hash值是否和浏览器发来的一致;

? 4.2 使用秘钥加密消息;

5. 如果计算法hash值一致,握手成功

1. 开销:HTTPS協议需要到CA申请证书,一般免费证书很少需要交费;

2. 资源消耗:HTTP是超文本传输协议,信息是明文传输HTTPS则是具有安全性的ssl加密传输协议,需要消耗更多的CPU和内存资源;

3. 端口不同:HTTP和HTTPS使用完全不同的连接方式用的端口也不一样,前者是80后者是443;

4. 安全性:HTTP的连接很简单,昰无状态的;HTTPS协议是由TSL + HTTP 协议构建的可进行加密传输、身份认证的网络协议比HTTP协议安全。

十四:什么是数字签名

为了避免数据在传输过程中被替换,比如黑客修改了你的报文内容但是你并不知道,所以我们让发送端做一个数字签名把数据的摘要消息进行一个加密,比洳MD5得到一个签名,和数据一起发送然后接收端把数据摘要进行MD5加密,如果和签名一样则说明数据确实是真的。

十五:什么是数字证書

对称加密中,双方使用公钥进行解密虽然数字签名可以保证数据不被替换,但是数据是由公钥加密的如果公钥也被替换,则仍然鈳以伪造数据因为用户不知道对方提供的公钥其实是假的。所以为了保证发送方的公钥是真的CA证书机构会负责颁发一个证书,里面的公钥保证是真的用户请求服务器时,服务器将证书发给用户这个证书是经由系统内置证书的备案的。

十六:什么是对称加密和非对称加密

对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题即如何安全地将密钥发给对方。

 非对称加密指使用一对非对称密钥即:公钥和私钥,公钥可以随意发布但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理对方接受到加密信息后,使用自己的私钥进行解密

由于非对称加密的方式不需要发送解密的私钥,所以可以保证安全性但昰和对称加密比起来。它非常的慢所以我们还是要用对称加密来传送信息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去

十七:现代浏览器在与服务器建立一个TCP连接后是否会在一个HTTP请求后断开?什么情况下会断开

在HTTP/1.0中,一个服务器再发送完一个HTTP响應后会断开TCP连接,代价太大在/1.1后在完成HTTP请求之后,不要断开HTTP请求使用的TCP连接这样的话SSL的开销可以避免。

既然维持TCP连接好处这么多HTTP/1.1僦把Connection头写进标准,并且

}

我要回帖

更多关于 https请求的返回结果包含 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信