[计算机网络] HTTP面试题大全(持续更新中)

1. 什么是HTTP协议?

答:HTTP,即超文本传输协议,是TCP/IP协议族的应用层协议,它是Web的核心协议。谈论HTTP通常涉及两种程序:客户程序和服务器程序,客户程序和服务器程序运行在不同的端系统中,通过交换HTTP报文进行会话。HTTP协议定义了这些报文的结构以及客户端和服务器进行报文的方式。

 

2. 说说你理解的HTTP协议的特点?

答:1)无状态:HTTP是一个无状态协议,这意味着服务器向客户发送被请求的文件,而不存储关于该客户的任何状态信息。假如某个特定的客户在短短的数秒内两次请求同一个对象,服务器并不会因为刚刚为该客户端提供过相同的对象而对二次请求不再做回应,而是重新发送被请求的对象,就像完全忘记了不久之前所做过的事一样;2)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间;3)媒体独立:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

 

3. HTTP的请求报文和响应报文分别是怎么样的(剖析报文的结构)?

   请求报文格式

  例子

  从报文中能得知的信息:

  • 该报文是用普通的ASCII文本书写的
  • 第一行称作请求行,包括三个字段:请求方法、URL字段和HTTP版本
  • 第一行之后的各行称作首部行(或请求头部),包括的信息有:Host指明请求对象的主机地址;Connection: close表示浏览器要求服务器在本次请求完成之后关闭这条连接,不使用持续连接;User-agent指明用户代理,即向服务器发送请求的浏览器的类型;Accept-language指定用户想得到该对象的语言版本,这是HTTP中可用的众多内容协商首部之一。

  响应报文格式

  

  例子

  

  

在请求报文的基础上分析该报文各个字段的含义并不困难,需要特别指明的是Content-Length首部行指示的是被发送对象中的字节数,Content-Type首部行指示的是实体主体的文本类型,这里是HTML文本。空行后的(data data data data data ...)表示的是Entity Body实体体,它是响应报文的主要部分,包含了请求的对象本身

 

4. HTTP常用的请求方法有哪些?

HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

博主设置当前文章不允许评论。

没有更多推荐了,返回首页