### 内容提要 * 这一章主要介绍了什么是http以及http是干嘛的,以及与之有关的相关概念,当然了这些概念都是概览式的介绍一些。所以我将采用问答式的方式描述这一章! **Q:http是干嘛的?** A:http是数据传输协议(超文本传输协议),用来沟通客户端和服务器的! **Q:什么是资源?** A:记住一句话,网络上的一切内容皆资源,无论是静态文件,还是动态生成的代码等! **Q:什么是媒体类型?** A:其实就是一种数据类型标记,用来告诉接收端,接收到的数据是什么类型,让接收端知道怎么才能处理该文件!常见标记方式就是MIME,MIME描述了文件的主要类型以及特定子类型,例如:"Content-Type":"text/html",其中text描述的文件的主要类型是文本,而其特定类型是html文档! **Q:怎么理解URI以及它的子集?** A:首先URI从其概念来说是*统一资源标识符*,它的作用就是在网络上唯一确定一个资源,就好比,在中国,身份证能唯一确定一个人一样!知道身份证号,就一定能确定一个人姓甚名谁一样!它有两个子集:URL(统一资源定位符)和URN(统一资源名),首先不特别声明,我们所说的URI就是指URL,URL是跟资源其在网络上的位置有关!而URN是指资源跟其名字有关,URN是未来的趋势,不过貌似具体实施现在还在商讨中!所以短时间之内URN难以取代URL! **Q:什么是事务?** A:说白了事务就是“一次http链接”的整个过程,由请求命令和响应结果过程!中间数据格式是http报文。我们平常打开一个网站,里面包括很多事务!如:请求网页文档、请求某个logo图片及请求某个视频等! **Q:方法指什么?** A:方法就是客户端向服务器发起的请求命令!常见方法有:get、post、delete、put、head! **Q:状态码有什么用?** A:状态码对程序有用,便于程序进行相关控制!原因短语对人有用! **Q:简单介绍一些报文!** A:首先报文是http协议一种纯文本的数据格式,分为请求报文和响应报文,两种报文都具有类似的结构,分别由三个部分构成:起始行、首部、主体,起始行描述报文干了什么!首部描述报文传输的具体细节!主体描述传输的实际内容! **Q:什么是TCP/IP?跟HTTP有什么关系?** A:tcp/ip是全世界的计算机和网络设备常用的层次化分组交换网络协议集!简单的说,http协议是一个应用层协议,位于tcp/ip协议的上一层,tcp/ip协议的主要作用就是过滤掉每个计算机的差异性,隐藏相关弱点,使得对于http协议来说提供的都是“相同的”接口! **Q:在一次网络请求中,分别经历那些过程?** A:步骤如下: >> (a)浏览器从url中解析处服务器的主机名; >> (b)浏览器将服务器的主机名转换成服务器的的ip地址;(可能经过去dns服务器查询) >> (c)浏览器将端口号(如果有的话)从url中解析出来; >> (d)浏览器建立一条与web服务器的tcp连接; >> (e)浏览器向服务器发送一条http请求报文; >> (f)服务器向浏览器回送一条http响应报文; >> 关闭连接,浏览器显示文档 Q:http协议有哪些版本? A: >> http/0.9,这个版本有严重设计权限 >> http/1.0,广泛使用 >> http/1.0+ 非官方的http/1.0的扩展版本 >> http/1.1 目前正在使用的版本,修复的相关设计缺陷,增加的相关特性 >> http-NG 将来使用与否正在商讨中 **Q:介绍一下web中的一些结构组件?** A:主要有代理、缓存、网关以及隧道!