HTTP 基本概念1. 什么是 HTTP?HTTP 的作用是什么?HTTP 全称:HyperText Transfer Protocol ,超文本传输协议。 HTTP 从客户端到服务器端等一系列运作流程提供规范,是目前互联网上使用的最广泛的一种规范。
2. 什么是 TCP/IP?
3. TCP/IP 协议族分几层?TCP/IP 协议族可以分为 4 层,分别是应用层、传输层、网络层和链路层。 1. 应用层:应用服务之间的通信协议规范,如 FTP、DNS 和 HTTP 都在这层。 2. 传输层:传输层对应用层传输两台计算机之间的数据。传输层主要使用以下两种协议:
3. 网络层:网络层对传输层提供的数据包进行传送。用来处理网络上流动的数据包,使用无连接的网际协议 IP 和许多种路由选择协议。网络层还有另一个任务就是选择合适的路由。 4. 链路层(数据链路层):硬件上的处理均在链路层的范围内。如:操作系统、硬件设备的驱动、网卡等。 4. TCP/IP 协议族分层有什么优点?TCP/IP 协议族分层的优点是:
5. TCP/IP 分层与 OSI 分层对比TCP/IP 协议族按层次分为以下 4 层:应用层、传输层、网络层和数据链路层。 OSI 则分为 7 层:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层。 对应关系如下: 6. 什么是 TCP/IP 通信传输流?通过 TCP/IP 协议通信方式,会遵循分层的顺序与对方进行通信
7. TCP/IP 协议族中的 IP 协议IP 网际协议处于网络层,用于传送数据包。它通过 IP 地址和 MAC 地址将数据包传送到指定的位置。 其中 IP 地址指明了分配给节点的地址,可变化;MAC 地址指明了所属网卡的固定地址,不可变化。 IP 之间的通信是依赖于 MAC 地址的,在网络通信的过程中,根据 ARP (一种地址解析协议)协议,通过 IP 反查出对应 MAC 地址,再通过 MAC 地址来搜索中转目标。 8. TCP/IP 协议族中的 TCP 协议是什么?TCP 协议提供可靠的字节流服务,主要是通过采用三次握手的策略来确保传输数据的准确性的。 用 TCP 协议将数据包发送之后,它会向对方确认是否成功送达。握手过程中使用了 TCP 的标志(flag)——SYN(synchronize)和 ACK(acknowledgement)。
9. 请介绍一下 TCP/IP 协议中的 DNSDNS 全称为 Domain Name System。 DNS 协议与 HTTP 一样位于应用层,主要负责将域名和 IP 之间的相互解析。 10. IP、TCP、DNS 和 HTTP 的关系11. URI 和 URL
12. HTTP 向服务器传递信息的方法方法名称含义GET(获取资源)请求访问已被 URI 标识的资源。响应返回经服务器解析后的内容POST(传输实体主题)GET 和 POST 都可以传输实体的主题,但一般使用 POST 方法来传输。区别在意 POST 的主要目的并不是获取响应的主体内容。PUT(传输文件)用来传输文件。将文件内容放到请求报文的主题之中,然后放到请求的 URI 中HEAD(获得报文首部)HEAD 方法和 GET 方法一样,但不返回报文主体的部分。用于确认 URI 是否有效及更新资源的时间等。DELETED(删除文件)用来删除文件,与 PUT 方法相反。DELETED 根据请求删除 URI 内指定的资源OPTIONS(询问支持的方法)查询根据请求 URI 指定的资源支持方法TRACE(路径追踪)让 Web 服务器端将之前的请求返回个客户端的方法CONNECT(用隧道协议连接代理)与代理服务器通信时建立隧道,使用 SSL 和 TLS 协议把加密后的通信内容经网络隧道进行传输。 13. 什么是持久连接?为什么要持久连接?在使用 HTTP 协议建立通信之后,在没有提出要断开连接的时候,TCP 将一直保持连接状态。 持久连接好处是减少了 TCP 连接的重复建立和断开所造成的的额外开销,减轻了服务器端的负载。而且减少重复建立连接的时间可以使 HTTP 请求和相应更早的结束,这样 Web 页面的加载速度也相应提高了。 14. Cookie 的作用是什么?它是怎样工作的?
15. 什么是 HTTP 报文?HTTP 协议交互的信息被称为 HTTP 报文。报文大致可以分为报文首部和报文主体两块,两者由空行(CR LF)来划分,报文主体可以不要。 报文首部服务器端或者客户端需要处理的请求或响应的内容及属性空行(CR LF)CR(回车) LF(换行)报文主体应被发送的数据(可以不要 1. 客户端的 HTTP 报文被称为请求报文 2. 服务器端的 HTTP 报文为响应报文 由上可知,请求报文和相应报文都是由请求行、状态行、首部字段和其他组成。 16. HTTP 传输数据的方式有哪些?
注意:通常报文主体等同于实体主体。但是如果在传输的过程中进行编码操作,实体主体的内容将发生变化,会导致它和报文主体产生差异。 17. 怎样发送多种数据的多部分对象集合?
18. 怎样获取部分内容的范围请求?可以通过首部字段 Range 来指定资源的 byte 的范围。 1. 1001~2000 字节 Range:bytes=1001-2000 2. 1001 以后的所有字节
3. 从开始到 1000 字节和 2001~5000 的多重范围 Range:bytes=0-1000,2001-5000 针对范围请求,响应会返回状态码为 206 的响应报文。而对于多重范围的范围请求,响应会在首部字段 ContentType 标明 multipart/byteranges 后返回响应报文。 19. 什么是内容协商?有哪些类型?内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断的基准。其内容包含在首部以下字段中:Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。 内容协商包括:服务器驱动协商、客户端驱动协商和透明协商三种。
20. 基于 HTTP 的功能追加的协议有哪些?
21. 构建 Web 内容的技术有哪些?
22. HTTP 协议无状态指什么?怎么才能将状态保存?HTTP 协议无状态在一个会话里面,不同的两次请求彼此是不了解。 但是通过 Cookie 或者 Session 可以将状态保存,后续访问可能利用到前面的信息。 23. GET 和 POST 的区别是什么?
24. HTTP 2.0 与 HTTP 1.1 的区别
HTTP 状态码详解1. 什么是 HTTP 状态码?HTTP 状态码全称:HTTP Status Code。表示服务器在响应超文本传输协议访问的时候返回的状态 3 位数字代码。例如,当客户端向服务端进行 HTTP 请求的时候,服务器会返回一个代码数据来回应请求,这个代码数据就是: HTTP 状态码。 2. 请介绍一下常用的 HTTP 状态码?并解释一下分别表示什么含义
3. 状态的主要类别有哪几种?分别表示什么含义?
HTTP 报文解析1. HTTP 报文首部包含哪些内容?HTTP 协议的请求和响应报文中必定包含 HTTP 首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。 在请求中,HTTP 报文由方法、URI、HTTP 版本、HTTP 首部字段等部分构成。 在响应中,HTTP 报文由 HTTP 版本、状态码(数字和原因短语)、HTTP 首部字段 3 部分构成。 2. 介绍一下 HTTP 首部字段,以及构成方式首部字段的主要作用:给浏览器和服务器提供一些必要信息,如报文主体 SIZE、语言类型、认证方式等内容。它是 HTTP 报文的组成要素之一。 首部字段构成方式:由字段名称和字段值组成,用冒号“:”分隔。例如:Content-type:text/html。首部字段可以有多个值组成。 3. 请介绍一下 HTTP 首部字段的类型有哪几种首部字段类型总共分为四类。如下所示:
3. HTTP 协议首部字段通用首部字段 HTTPS 的使命1. HTTP 的缺点及解决方案缺点:
解决方案: 1. 加密处理预防窃听
2. 使用 SSL 可以验证对方身份。SSL 除了具备加密处理能力,还使用了称为证书的方法,可用于确定通信方。 3. 可以使用 MD5 和 SHA1 等散列值校验的方法,以及用来确认文件的数字签名方法。 非常可惜的是,以上的一些方法仍然存在很大的风险,如果想要有效地保证信息的安全性,则需要使用 HTTPS。 2. 什么是 HTTPS
1. HTTP 加上加密处理和认证以及完整性保护后即是 HTTPS 2. HTTPS 是身披 SSL 外壳的 HTTP 3. 什么是相互交换密钥的公开密钥加密技术公开密钥加密处理起来比共享密钥加密方式更为复杂,因此若在通信时使用公开密钥加密方式,效率就很低。 1. 使用公开密钥加密方式,安全地交换在稍后的共享密钥加密中要使用的密钥 2. 确保交换的密钥是安全的前提下,使用共享密钥加密方式进行通信。 4. 请介绍一下 HTTPS 的安全通信机制
5. HTTP 与 HTTPS 的区别是什么?
安全及漏洞全面解析1. 什么是 SQL 注入?SQL 注入是一种注入攻击。攻击者通过将破坏性 SQL 代码进行数据库查询,使攻击者能够完全控制数据库资源。 2. 如何防止 SQL 注入攻击?
3. 什么是 XSS?XSS 全称:跨站脚本攻击(Cross Site Scripting)。是将前端脚本代码插入 Web 页面中,当用户浏览页面时,会执行嵌套在 Web 页面里面的脚本代码,从而达到攻击用户的目的。 XSS 类型包括:
4. 如何防止 XSS 漏洞
5. 请介绍一下 CSRF 是什么?CSRF:Cross-site request forgery 跨站请求伪造。 cookie 是网站利用来识别用户的,用户成功登陆之后浏览器就会得到一个 cookie 来标识其身份,在不关闭浏览器或者退出登录,以后访问这个网站会带上这个 cookie。
6. CSRF 怎么防御?
|
|
来自: Fengsq501u81r4 > 《计算机》