不惧面试:HTTP协议 - 基础扫盲

Posted DotNet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不惧面试:HTTP协议 - 基础扫盲相关的知识,希望对你有一定的参考价值。


来源:jackson0714

cnblogs.com/jackson0714/p/HTTP1.html


面试常见题:


1.什么是HTTP协议?★☆


2.Web客户端是什么?☆


3.Web服务端是什么?☆


4.什么是资源?★


5.MIME类型是什么?★☆


6.什么是URI?★


7.什么是URL?★


8.什么是URN?★


9.常见的HTTP方法有哪些?★☆


10.常见的状态码200,206,302,304,404,501的含义?★★☆


11.什么是报文?★★☆


12.HTTP协议栈是怎么样的?★★★


13.什么是DNS?★


14.什么是端口号?★



16.什么是代理?★☆


17.什么是缓存?★☆


18.什么是网关?★☆


19.什么是隧道?★☆


20.什么是Agent代理?★☆


看完这些题目,心中是否有疑惑呢?那就接着看呗,我来帮您解答心中的疑惑


参考答案:


1.什么是HTTP协议?★☆


HTTP:超文本传输协议。使用的是可靠的数据传输协议,在传输的过程中不会被损坏或产生混乱。HTTP可以从遍布全世界的Web服务器商将各种信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。


2.Web客户端是什么?☆


Web客户端常见的又各大厂商的浏览器,比如微软的IE浏览器,google的chrome浏览器。


3.Web服务端是什么?☆


Web服务器存储Web类容。Web服务器使用HTTP协议,被称为HTTP服务器。


客户端向服务器发送HTTP请求,服务器会在HTTP响应中回送所请求的数据。


4.什么是资源?★


Web资源寄宿在Web服务器上。所有能够提供Web内容的东西都是Web资源。比如静态文件,能够动态生成内容的软件程序。


5.MIME类型是什么?★☆


MIME:多用途因特网邮件扩展。最初设计MIME是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。HTTP采纳了它,用来描述并标记多媒体内容。


MIME类型时一种文本标记,标识一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。如text/html,text/plain,image/ipeg。常见的MIME类型有数百个。


6.什么是URI?★


URI:统一资源标识符,在世界范围内唯一标识并定位信息资源。


URI有两种形式:URL和URN。


7.什么是URL?★


URL:统一资源定位符。URL描述了一台特定服务器上某资源的特定位置。


URL的第一部分被称为方案(scheme)。说明了访问资源所使用的协议类型。这里使用的时HTTP协议(http://)。



其余部分指定了Web服务器上的某个资源:/jackson0714/p/algorithm_1.html。


几乎所有的URLI都是URL。


8.什么是URN?★


URN:统一资源名,URN是作为特定内容的唯一名称使用的,与目前的资源所在地无关。


9.常见的HTTP方法有哪些?★☆



10.常见的状态码200,206,302,304,404,503的含义?★★☆


每条HTTP响应报文返回时都会携带一个状态码。状态码是一个三位数字的代码,告知客户端请求是否成功,或者是否需要采取其他动作。


不惧面试:HTTP协议(1) - 基础扫盲


11.什么是报文?★★☆


HTTP报文是由一行一行的简单的字符串组成的。HTTP报文都是纯文本,不是二进制代码。


请求报文:从Web客户端发往Web服务器的HTTP报文称为请求报文。


响应报文:从Web服务器发往客户端的报文称为响应报文。


HTTP报文包含以下三个部分:


起始行:报文的第一行就是起始行,在请求报文中用来说明要做些什么,在响应报文中说明出现了什么情况。如:GET /jackson0714/p/algorithm_1.html HTTP/1.1


首部字段:起始行后面由零个或多个首部字段。以键值对的形式表示首部字段。键和值之间用冒号分隔。首部以一个空行结束。如Content-Type:text/html:charset=utf-8


主体:首部字段空行之后就是可选的报文主体了,其中包含了所有类型的数据。请求主体中包括了要发送Web服务器的数据,响应主体中装载了要返回给客户端的数据。


12.HTTP协议栈是怎么样的?★★★


HTTP是应用层协议。它把联网的细节都交给了通用、可靠的因特网传输协议TCP\IP协议。


HTTP网络协议栈:



TCP协议:


a.传输控制协议


b.无差错的数据传输


c.按序传输(数据总是会按照发送的顺序到达)


d.未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去)


13.什么是DNS?★



14.什么是端口号?★


http://www.cnblogs.com:80




(1)浏览器从URL中解析出服务器的主机名;



(3)浏览器将端口号(如果有的话),从URL中解析出来;


(4)浏览器建立一条与Web服务器的TCP连接;


(5)浏览器向服务器发送一条HTTP请求报文;


(6)服务器向浏览器回送一条HTTP响应报文;


(7)关闭连接,浏览器显示文档。


16.什么是代理?★☆


代理是位于客户端和服务器之间的HTTP中间实体。接收所有客户端的HTTP请求,并将这些请求转发给服务器(可能会对请求进行修改之后转发)。


17.什么是缓存?★☆


缓存HTTP的仓库,使常用页面的副本可以保存在离客户端更近的地方。


18.什么是网关?★☆


网关是一种特殊的服务器,作为其他服务器的中间实体使用。通常用于将HTTP流量转换成其他的协议。


19.什么是隧道?★☆


隧道是建立起来之后,就会在两条连接之间对原始数据进行盲转发的HTTP应用程序。常见用途是通过HTTP连接承载加密的安全套接字层(SSL)流量,这样SSL流量就可以穿过只允许Web流量通过的防火墙了。


20.什么是Agent代理?★☆


用户Agent代理是代表用户发起HTTP的客户端程序。比如Web浏览器。另外有些自动发送HTTP请求并获取内容的代理,比如“网络蜘蛛”或者“Web机器人”。


看完本文有收获?请转发分享给更多人

关注「DotNet」,提升.Net技能 

以上是关于不惧面试:HTTP协议 - 基础扫盲的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议扫盲(九 )HTTP1.1响应的Transfer-Encoding=chunked方式

网络基础协议之http协议

PHP面试 PHP基础知识 八(会话控制)

面试常考HTTP协议知识点

科普扫盲,HTTP Status Code详解,从此排错无忧!

网络基础知识之HTTP协议