(01)HTTP权威指南——URL与资源

Q:HTTP是干嘛的?
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。

Q:什么是媒体类型?
一种数据类型标记,用来告诉接收端,接收到的数据是什么类型,让接收端知道怎么才能处理该文件!常见标记方式就是MIME,MIME描述了文件的主要类型以及特定子类型
常见的媒体类型有:

  • HTML格式的文本文档由text/html类型来标记。
  • 普通的ASCII文本文档由text/plain类型来标记。
  • JPEG格式的图片为image/jpeg类型。
  • GIF格式的图片为image/gif类型。

Q:URL、URI与URN
URI:统一资源标识符(Uniform ResourceIdentifier)
URL:统一资源定位符(Uniform ResourceIdentifier Location)几乎所有URI都是URL
URN:统一资源名(Uniform ResourceIdentifier Name)使用名字定位资源而不关心其位置

Q、关于HTTP报文与事务
(01)HTTP权威指南——URL与资源_第1张图片

Q、使用TCP/IP的原因
TCP优点:稳定可靠 ,三次握手来建立连接,在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。
TCP的缺点: 慢,效率低,占用系统资源高,易被攻击,TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
关于TCP感觉要说的太多了,一时半会也说不完。

Q:在一次网络请求中,分别经历那些过程?

  • (a)浏览器从url中解析处服务器的主机名;
  • (b)浏览器将服务器的主机名转换成服务器的的ip地址;(可能经过去dns服务器查询)
  • (c)浏览器将端口号(如果有的话)从url中解析出来;
  • (d)浏览器建立一条与web服务器的tcp连接;
  • (e)浏览器向服务器发送一条http请求报文;
  • (f)服务器向浏览器回送一条http响应报文;
  • (g)关闭连接,浏览器显示文档

Q:介绍一下web中的一些结构组件?
主要有代理、缓存、网关以及隧道,后面有具体讲解:

  • 代理:代理位于客户端和服务器之间,接收所有客户端的HTTP请求,并把这些请求转发给服务器(可能会对请求进行修改之后转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器。代理的主要作用有过滤、屏蔽等!(还有需要注意一点:代理既可以代表服务器对客户端进行响应,又可以代表客户端对服务器进行请求!)
  • 缓存:首先说明一下,缓存某种意义上来说也是一种代理服务器。它主要使用代表服务器对客户端进行响应。发送预先缓存好的资源的副本。这样会加快事务响应速度、同时也会减少服务器的负载、减轻带宽等问题!
  • 网关:网关是一种特殊的服务器,面对客户端时好像它就是服务器,而对于服务器,他又充当客户端的角色,它的主要作用是协议转换!例如HTTP/FTP网关。
  • 隧道:就是一个连接通道,用于在http信道上发送非http协议的资源。
  • Agent代理:说白了就是我们平时所说的浏览器,以及web机器人、爬虫等!

Q:URL的语法

URL的其格式如下:

 ://:@:/;?#

其中:

  1. scheme:方法描述了请求资源时用了什么协议,用“:”与url其它部分隔开;
  2. user:用户名描述了访问是带的用户名;
  3. password:密码描述了用户名后面可能跟的密码,用“:”跟用户名隔开;
  4. host:主机描述了网站主机名或ip地址,如果前面有用户名和密码,用@分开;
  5. post:服务器当前正在监听的端口,http默认为80,https默认为443;
  6. path:路劲描述了资源在服务器上的位置,用‘/’跟前面部分隔开;
  7. params:参数描述了请求需要附加的参数,用“;”与其他部分隔开;
  8. query:查询是用来激活服务器程序去执行某些操作,比如查询数据库等,用“?”与其余部分隔开;
  9. frag:片段只在客户端使用,不发送到服务器端;

Q:URL字符编码
(01)HTTP权威指南——URL与资源_第2张图片

Q:常见的方案格式
(01)HTTP权威指南——URL与资源_第3张图片(01)HTTP权威指南——URL与资源_第4张图片

你可能感兴趣的:(javaweb)