全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  Python面试题

【Python面试题】请从socket编程的角度谈谈网络请求的流程

发布时间:2022-08-23 11:03:00
发布人:wjy

网络请求是基于HTTP协议的,但http协议只是一个应用层协议,它底层是通过TCP进行传输数据的。因此,浏览器访问Web服务器的过程必须先有“连接建立”的发生。浏览器向Web服务器发出Http请求以及Web服务器给浏览器回复的过程如下:

1)浏览器创建Socket,按给定IP(域名)和端口(默认为80)连接服务器。

2)连接成功后,浏览器依据HTTP协议规范,向Web服务器发送请求数据,会使用类似Socket.Send()、Socket.BeginSend()等方法。

3)浏览器等待服务器处理并返回数据;

4)Web服务器端使用Socket.Accept()、Socket.BeginAccept()等方法侦听到浏览器的连接后,便开始接收浏览器发送的数据。接收到请求数据后,依据HTTP协议规范解析数据,然后处理,最终将处理结果(如html文档)发回给浏览器,这里可能用到类似Socket.Send()、Socket.BeginSend()等方法;

5)Web服务器发送完处理结果后,关闭Socket;

6)浏览器接收Web服务器发回的数据(如html),将其显示在浏览器UI界面。关闭socket;

7)一次“浏览器到Web服务器”的http请求结束;

请从socket编程的角度谈谈网络请求的流程

相关文章

华为外包python面试题-Python实现斐波那契数列

2023-07-25

常见Python程序员面试题

2023-07-21

Python面试题及答案

2023-07-20

matlab和python实现pca降维算法

2023-03-29

【Python面试题】运行下面的代码是否会报错?

2022-08-23

【Python面试题】对下面给出的字典按值从大到小对键进行排序。

2022-08-23
在线咨询 免费试学 教程领取