您的位置:首页 > 理论基础 > 计算机网络

如果面试官让你谈谈你对http的认识,你会怎么回答?

2013-03-18 23:21 676 查看
记得有一次面试的时候,面试官就让我谈谈对http的认识,因为简历当中我是这么写的“基本掌握http”,其实那时候的我对http的认识可以说为0,所以当时我就很不好意思的回答说不大清楚,时至今日我才发现我对http的认识只是冰山一角,下面就谈谈我个人对http肤浅的认识:

1.首先http(超文本传输协议)其处于OSI7层模型中的应用层,OSI7层模型分别为应用层-》表示层-》会话层-》传输层-》网络层-》数据链路层-》物理层,对于这7层模型,我们应该大致的了解每一层是干嘛的,这个是必须的,在此就不一一说明。

2.http事物是指从客户端(IE)向服务器端发送http请求,再由服务器将响应的内容返发回给客户端的一个过程。

3.http链接是通过tcp链接,首先客户端会打开一条连向服务器端的链接,然后开始发送http请求,接着由服务器返发响应的内容,当客户端接受后就断开此链接,这样一次客户端与服务器端的通信就结束了。

4.http报文:由客户端向服务器端发送的http请求和从服务器端发送到客户端响应的内容都是http报文,其格式为:起始行、头部(HEAD)、主体(BODY)

对于报文的理解,在这里向大家推荐一个工具叫:fiddler。通过它可以详细的看到http报文的组成结构和具体的内容。

5.http中的方法分为5种:增(PUT)、删(DELETE)、改(POST)、查(GET)、HEAD

6.MIME(多用途网络邮箱扩展)类型:对象类型/特定子类型,如:image/png,通过fiddler可在http请求的起始行中看到。

7.发送http请求的目的是为了请求某一资源,然后由服务器返回客户端需要的资源,客户端(IE)通过解析将其显示出来,这里的资源是如何标识的呢?其实是通过URI(Uniform Resource Identifier)统一资源标识符,其主要有2中形式:URL(统一资源定位符)和URN(统一资源名称),目前最常用的是URL。那如何通过URL我们就可以找到某一资源了呢?

举例说明如下:

当我们在客户端输入如下地址:

http://www.cnblogs.com/***/****.html

客户端首先会解析www.cnblogs.com所对应的IP地址为42.121.252.58(即DNS域名服务),而http默认的端口号为80,即向IP地址为42.121.252.58的服务器端口号为80请求***/****.html这样一个资源。

8.在客户端与服务器端还存在着代理,这个代理类似于一个中间人的作用,在2者之间传递http报文,使用代理的好处有很多就不详细介绍了。

9.除此之外还有就是在代理服务器上使用缓存,通过使用缓存可以大大提高访问速度,缓存是将服务器发送给客户端的报文进行了一次COPY而保留在了代理服务器上,当客户端再次请求时,代理就会判断文件的新鲜度来判断是否返回给客户端当前的缓存文件,否则从服务器端下载返回给客户端。

那么代理是如何判断文件的新鲜度呢?主要是通过缓存文件最后修改的时间与服务器端文件最后修改时间是否一致,但这种还存在瑕疵,所以有时候还得通过E-TAG来判断,可以通过fiddler去仔细观察。

以后努力做到每周写一次博客,以此纪念我逝去的青春。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐