Common interview questions: briefly talk about the understanding of the HTTP protocol

1. What is the HTTP protocol? ★☆

HTTP: Hypertext Transfer Protocol. A reliable data transmission protocol is used, which will not be damaged or confused in the process of transmission. HTTP can quickly, easily, and reliably move various pieces of information from Web server vendors all over the world to Web browsers on people's desktops.

2. What is the web client?

The common web clients are browsers from major manufacturers, such as Microsoft's IE browser and Google's chrome browser.

3. What is the Web server?

The web server stores web content. Web servers use the HTTP protocol and are known as HTTP servers.

The client sends an HTTP request to the server, and the server sends back the requested data in the HTTP response.

4. What is a resource?

Web resources are hosted on a web server. Anything that can provide web content is a web resource. Such as static files, software programs that can dynamically generate content.

5. What is the MIME type? ★☆

MIME: Multipurpose Internet Mail Extensions. MIME was originally designed to solve the problem of moving messages between different email systems. HTTP adopted it to describe and mark up multimedia content.

A MIME type is a textual markup that identifies a main object type and a specific subtype, separated by a slash. Such as text/html, text/plain, image/ipeg. There are hundreds of common MIME types.

6. What is a URI?

URI: Uniform Resource Identifier, which uniquely identifies and locates information resources worldwide.

URIs come in two forms: URLs and URNs.

7. What is a URL?

URL: Uniform Resource Locator. A URL describes a specific location of a resource on a specific server.

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

第二部分表示服务器的因特网地址:www.cnblogs.com。

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

几乎所有的URLI都是URL。

8.什么是URN?

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

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

GET

从服务器向客户端发送命名资源

PUT

将来自客户端的数据存储到一个命名的服务器资源中去

DELETE

从服务器中删除命名资源

POST

将客户端数据发送到一个服务器网关应用程序

HEAD

仅发送命名资源响应中的HTTP首部

 

 

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

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

状态码

原因短语

含义

200

OK

成功。请求的所有数据都在响应主体中。

206

Partial Content

成功执行了一个部分或Range(范围)请求。206响应中必须包含Content-Range、Date以及ETag或Content-Location首部。断点续传必考题。

302

Found

重定向。到其他地方去获取资源。客户端应该是用使用Location首部给出的URL来临时定位资源。将来的请求仍应使用老的URL。

304

NOT Modified

如果客户端发起了一个GET请求,而资源最近未被修改,则用304说明资源未被修改。带有这个状态吗的响应不应该包含实体的主体部分。缓存必考题。

305

Use Proxy

用来说明必须通过一个代理来访问资源;代理的位置由Locatin首部给出。

403

Forbidden

请求被服务器拒绝了。

404

Not Found

无法找到所请求的URL

500

Internal Server Error

服务器遇到一个妨碍它为请求提供服务的错误。

503

Bad Gateway

服务器现在无法为请求提供服务,但将来可以。

 

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?

域名解析服务。将主机名转换为IP地址。如将http://www.cnblogs.com/主机名转换为IP地址:211.137.51.78。

14.什么是端口号?

http://www.cnblogs.com:80

80就是端口号。HTTP的URL中没有端口号时,可以假设默认端口号时80。有了IP地址和端口号,客户端就可以很方便地通过TCP/IP进行通信了。

15.在浏览器地址栏输入一个HTTP的URL地址,按下回车键之后,浏览器怎么通过HTTP显示位于远端服务器中的某个简单HTML资源?★★★☆

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

(2)浏览器将服务器的主机名转换成服务器的IP地址;

(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机器人”。

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325560264&siteId=291194637