当前位置:   article > 正文

【python爬虫】URL各组成部分详解和HTTP协议的八种请求方法_爬虫用了多少url是什么

爬虫用了多少url是什么

小虾先来学习一下URL各组成部分内容

         小虾相信大家都知道:IP地址唯一标识了我们internet的计算机,那么我们计算机的资源是用什么标记的呢?对,就是用URL标记!URL代表的是一个统一资源定位符它是指向互联网“资源”的指针统一资源定位符(URL)由 4 部分组成协议 、存放资源的主机域名端口号资源文件名一个完整的URL具体可分为一下部分:协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分。就用下面的网址进行介绍:                             

                                           https://www.baidu.com:80/index.html#aa?username=bjsxt&pwd=bjsxt

  • 协议部分:该URL的协议为“http”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP ,GOPHER ,TELNET、FILE等协议,本例中使用的是HTTP协议。在”HTTP”后面的“//”为分隔符
  • 域名部分:该URL的域名部分为“www.baidu.com”。在URL中,也可以使用IP地址作为域名使用
  • 端口部分:跟在域名后面的是端口,域名和端口之间使用 “:” 作为分隔符。端口不是一个URL必须的部分,如果省略端口部分,将采用默认端口 80是http协议的默认端口
  • 虚拟目录部分从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。
  • 文件名部分:(1)从域名后的最后一个“/”开始到“?”为止,是文件名部分,(2)如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,(3)如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.html”。文件名部分也不是一个URL必须的部分,如果省略该部分,则使用默认的文件名
  • 参数部分从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“username=bjsxt&pwd=bjsxt”。参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
  • 锚部分:HTTP请求不包括锚部分,从“#”开始到最后,都是锚部分。本例中的锚部分是“aa。锚部分也不是一个URL必须的部分。 锚点作用:打开用户页面时滚动到该锚点位置。

       【URL类常用的方法】(大概就有这么多,对以后用到,会非常有用!)

               

第二,小虾先来学习一下Http协议的八种请求方法

(1)先来介绍一下什么是HTTP协议:

  • HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。
  • HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
  • HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

    Web服务器根据接收到的请求后,向客户端发送响应信息。

  • HTTP默认端口号为80,但是你也可以改为8080或者其他端口。

(2)HTTP三点注意事项:

  • HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间
  • HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。
  • HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

   比较常见的一个图:

                                                               

(3)HTTP的消息结构:

        HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。一旦建立连接后,数据消息就通过类似Internet邮件所使用的格式[RFC5322]和多用途Internet邮件扩展(MIME)[RFC2045]来传送。

客户端请求消息:客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

                                               

服务器端响应消息:HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。(如下图所示)

                                         

【4】那么下面的重点来了---Http的八种请求方法,小虾做了表格,查看起来更加明了】

        先谈点题外话---:根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

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

        HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

           

       Http一般来说就八种请求方法。上面图中第9是对PUT方法的补充,其是对已知资源进行局部的更新。http服务器至少能实现get、head、post方法,其他都是可选的。

【结束语】这个知识小虾,大概就学这么多,后面涉及到的知识还有很多,如果用到,小虾会继续跟进的哦!希望通过这篇博客,可以让我们学到很多。

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/844162
推荐阅读
相关标签
  

闽ICP备14008679号