-
HTTP于HTTPS有什么联系?它们的端口号是多少?
-
HTTP通常承载于TCP之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。HTTP默认的端口号为80,HTTPS默认的端口号为443。
-
为什么HTTPS更安全?
-
在网络请求中,需要有很多服务器,路由器的转发,其中的节点都坑篡改信息,而如果使用HTTPS,密钥在终点站才有。HTTPS之所以比HTTP安全,是因为它利用ssl/tls协议传输。它包含证书、卸载、流量转发、负载均衡、页面适配、浏览器设配、refer转递等技术,保障了传输过程的安全性。
-
关于HTTP/2你知道多少?
- HTTP/2引入了“服务器端推送”(server push)的概念,它允许服务器端在客户端需要数据之前主动将数据发送到客户端缓存中,从而提高性能。
- HTTP/2提供封国的加密支持。
- HTTP/2使用多路技术,允许多个消息在一个连接上同时交差
- 它增加了头压缩(hesder compression),因此请求非常小,请求和相应的header都只会占用很小的带宽比例。
-
说出你知道的HTTP常见状态码。
- 100Continue表示继续,一般在发送post请求时,已发送了HTTP header之后,服务器端将返回此信息,显示确认,之后发送具体参数信息。
- 210OK表示正常返回消息。
- 201Created表示请求成功并且服务器常见了新的资源
- 202Accepted表示服务器已接收请求,但尚未处理。
- 301Moved Permanently表示请求的网页一用就移动到新位置
- 302Found表示临时性重定向
- 303See Other表示临时性重定向,却总是使用GET请求新的URI
- 304Not Modified表示自从上次请求后,请求的网页为修改过
- 400Bad Rwquest表示服务器无法理解请求的可是,客户端不应当尝试再次使用相同的内容发起请求。
- 401Unauthorized表示请求未授权
- 403Forbidden表示禁止访问
- 404Not Found表示找不到如何于URI相比配的资源
- 500Internal Server Error表示最常见的服务器端错误
- 503Service Unavailable表示服务器端暂时无法处理请求(可能是过载或维护)。
- 完整的HTTP事务流程是怎样的
- 基本流程如下
- 域名解析
- 发起TCP的三次握手
- 建立TCP连接后发起HTTP请求
- 服务器端响应HTTP请求,浏览器得到HTML代码
- 就连起解析HTML代码,并请求HTML代码汇总的资源
- 浏览器对页面进行渲染并呈现给用户
- 实现一个简单的HTTP服务器
在Node.js中加载HTTP模板,并创建服务器,监听端口。
代码如下所示
- 什么是HTTP?
- HTTP是客户端和服务器端之间数据传输的可是规范,表示“超文本传输协议”。
- 什么是HTTP无状态协议?如何客服HTTP无状态协议的缺陷?
-
无状态协议对于事务处理没有记忆能力。缺少状态意味着如果或许需要处理,需要前面提供的信息。
-
克服无准柜台协议缺陷的办法是通过cookie和会话保存信息。
- HTTP的请求报文和响应报文包含哪些部分?
请求报文包含3部分
-
请求行,包含请求方法、URI、HTTP版本信息
-
请求首部字段。
-
请求内容实体
- 响应报文包含3部分
-
状态行,包含HTTP版本、状态码、状态码的原因短语。
-
响应首部字段。
-
响应内容实体。
- HTTP中有哪些请求方式?
-
GET:请求访问已经被URI(统一资源标识符)识别的资源,可以用过URI,给附曲奇传递参数数据
-
POST:传输信息给服务器,主要功能与GET方法类似,但传递的数据量通常不受限制。
-
PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置。
-
DELETE:删除文件,与PUT方法相反,删除对应URI位置。
-
HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。
-
OPTIONS:查询相应URI支持的HTTP方法。