大厂5G python自动化测试面试必会 | Web开发

1、Web客户端与服务器端交互使用的特定语言/协议是什么?

参考:《Python核心编程》(第三版)

答:

        HTTP(HyperText Transfer Protocol,超文本传输)。HTTP是TCP/IP的上层协议,这意味着HTTP协议依靠TCP/IP来进行低层的交流工作。它的职责不是发送或者递消息(TCP/IP协议处理这些),而是通过发送、接受HTTP消息来处理客户端的请求。

2、HTTP协议是有状态协议还是无状态协议?具体表现如何?

参考:《Python核心编程》(第三版)

答:

        HTTP 属于无状态协议,因为其不跟踪从一个客户端到另一个客户端的请求信息,这点很像现在使用的客户端/服务器架构。服务器持续运行,但是客户端的活动以单个事件划分的,一旦完成一个客户请求,这个服务事件就停止了。客户端可以随时发送新的请求,但是新的请求会处理成独立的服务请求。由于每个请求缺乏上下文,因此你可能注意到有些 URL 中含有很长的变量和值,这些将作为请求的一部分,以提供一些状态信息。另一种方式是使用“cookie”,即保存在客户端的客户状态信息。

3、在因特网上传输的数据当中,其中一部分会比较敏感。而在传输过程中,默认没有加密服务。在这种情况下,如何确保信息传输安全?

参考:《Python核心编程》(第三版)

答:

        为了对传输数据进行加密,需要在普通的套接字上添加一个额外的安全层,称为安全套接字层(Secure SocketLayer,SSL),用来创建一个套接字,加密通过该套接字传输的数据。开发者可以决定是否使用这个额外的安全层。

4、Python中的urllib模块有什么作用?

参考:《Python核心编程》(第三版)

答:

        使用urllib模块下载或者访问Web上信息的应用程序(使用urllib.urlopen()或者urllib.urlre trieve())就是简单的Web客户端。其所要做的只是为程序提供一个有效的Web地址。

5、一个完整的URL中都包含有哪些组件?

参考:《Python核心编程》(第三版)

答:

6、一个完整的URL格式是什么样子?

参考:《Python核心编程》(第三版)

答:

        prot_sch://net_loc/path;params?query#frag

6、URL的组件:net_loc都包含有哪些关键参数/信息?

参考:《Python核心编程》(第三版)

答:

7、 net_loc组件的字符串格式是什么样子?

参考:《Python核心编程》(第三版)

答:

        user:passwd@host:port

        在这4个组件中,host名是最重要的。port号只有在Web服务器运行其他非默认端口号上时才会使用(如果不确定所使用的端口号,可以参见第2章)。用户名和密码只有在使用FTP连接时候才有可能用到,而即便使用FTP,大多数的连接都是匿名的,这时不需要用户名和密码。Python 支持两种不同的模块,两者分别以不同的功能和兼容性来处理 URL。一种是urlparse,另一种是urllib。

8、urlpasrse 模块提供了哪些用于处理 URL 字符串的基本功能?

参考:《Python核心编程》(第三版)

答:

        urlparse()、urlunparse()和urljoin()。

9、urlpasrse和urlunparse()有什么作用?

参考:《Python核心编程》(第三版)

答:

        urlparse()将URL字符串拆分成前面描述的一些主要组件。其语法结构如下。

        urlparse (urlstr, defProtSch=None, allowFrag=None)

        urlparse()将urlstr解析成一个6元组(prot_sch,net_loc,path,params,query,frag)。前面已经描述了这里的每个组件。如果urlstr中没有提供默认的网络协议或下载方案,defProtSch会指定一个默认的网络协议。allowFrag标识一个URL是否允许使用片段。下边是一个给定URL经urlparse()后的输出。

        urlparse.urlunparse()

        urlunparse()的功能与urlpase()完全相反,其将经urlparse()处理的URL生成urltup这个6元组(prot_sch, net_loc, path, params, query, frag),拼接成URL并返回。因此可以用如下方式表示其等价性:

        urlunparse(urlparse(urlstr)) ≡ urlstr

10、urlparse.urljoin()有什么作用?

参考:《Python核心编程》(第三版)

答:

        在需要处理多个相关的URL时我们就需要使用urljoin()的功能了,例如,一个Web页中可能会产生一系列页面URL。urljoin()的语法是如下。

        urljoin (baseurl, newurl, allowFrag=None)

        urljoin()取得根域名,并将其根路径(net_loc 及其前面的完整路径,但是不包括末端的文件)与newurl连接起来。

11、urllib.urlopen()都包含有哪些文件类型对象的方法?

参考:《Python核心编程》(第三版)

答:

12、 urllib模块中的核心函数都有哪些?

参考:《Python核心编程》(第三版)

答:

 

13、urllib模块通过什么来支持开放的HTTP连接?

参考:《Python核心编程》(第三版)

答:

        urllib模块通过安全套接字层(SSL)支持开放的HTTP连接(socket模块的核心变化是增加并实现了SSL)。httplib模块支持使用“https”连接方案的URL。除了那两个模块以外,其他支持SSL的模块还有imaplib、poplib和smtplib。

14、HTMLParse 模块中的HTMLParse类有哪些作用?

参考:《Python核心编程》(第三版)

答:

        HTMLParser.HTMLParser用于替换htmllib.HTMLParser。因为前者更简单,可以从更底层的视角观察页面,且可以处理XHTML。而后者比较老,且基于sgmllib模块(意味着必须理解复杂的标准通用标记语言(Standard Generalized Markup Language,SGML),因此也更加复杂。

15、python中常用的Web服务器模块和类都有哪些?

参考:《Python核心编程》(第三版)

答:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值