为什么网址中有很多符号
Hypertext Transfer Protocol,即超文本传送协议,普遍应用于网络传输,特别是web页面的传输。 http是客户端-服务端的传送协议,一个典型的传送方式为:客户端送出请求(request),对应的服务器受到后则作出相应的响应(response),并送回客户端,即完成了一次传送。 当然,这么一个传送过程中有可能发生各种各样的情况,下面做一下简要介绍。 首先是客户端发出一个请求(request),该请求主要包括对方服务器名(即域名),所请求文件的路径,请求方式(主要是get和post,get是最一般的,post用于提交表单等),可接受的文件类型(一般都有*。 *,即...全部
Hypertext Transfer Protocol,即超文本传送协议,普遍应用于网络传输,特别是web页面的传输。 http是客户端-服务端的传送协议,一个典型的传送方式为:客户端送出请求(request),对应的服务器受到后则作出相应的响应(response),并送回客户端,即完成了一次传送。
当然,这么一个传送过程中有可能发生各种各样的情况,下面做一下简要介绍。 首先是客户端发出一个请求(request),该请求主要包括对方服务器名(即域名),所请求文件的路径,请求方式(主要是get和post,get是最一般的,post用于提交表单等),可接受的文件类型(一般都有*。
*,即所有类型),文件信息(主要用来续传),连接的状态,附加信息(如cookie等)。值得注意的是,该请求信息不包含任何ip地址,只是一个单纯的文本文件而已,至于这个文件要被送到哪台服务器,需要由外围程序通过socket来实现(如浏览器,下载器等)。
接下来数据的传送就与http自身无关了,通过其他协议(如tcp/ip协议)送到对方服务器上。当然有可能送错地方,这时就会超时或找不到服务器。这步处理由外围程序来完成。 当一个请求(request)被正确的送到服务器后,服务器上的相关程序(如iis,apache等)变会收到此请求,并分析后送到对应的虚拟主机上(即分析请求中的主机名),处理后生成一个响应(response),并设法送回客户端。
一个响应(resonse)的结构与请求(request)差不多,只是多了一些信息,最重要的就是状态(status),表明此响应(response)的成功与否。主要的代码如下: 100系列:这个系列不常见,主要是一些返回信息。
200系列:这个就表示请求成功。 300系列:资源以转移,即所请求的资源由于某种原因被转移掉了,请重新访问被转移后的资源(响应中包含了被转移后的地址) 400系列:即失败,可能是任何形式的不正当请求,如找不到文件,没有权限什么的。
500系列:也是失败,不过与400系列不同的是,这个失败完全是有服务器造成的,如服务器配置错误,访问量过大而处理不过来什么的。 另外值得一提的就是html。有时可能会将http和html搞混掉。
html(HyperText Markup Language),即超文本标记语言,是一种语言,用来建造网页的,只是在很多情况下,html通过http来传送,两者并没有什么太大的关联。 参考资料:w3c (可以理解为制订这些协议的组织)。
收起