WEB服务器编程实现
文章平均质量分 55
番蔬条
这个作者很懒,什么都没留下…
展开
-
第4关:服务端响应请求头部信息
WEB 服务器在接收到客户端的连接请求后,接下来就会响应该请求。HTTP 响应报文由三部分组成:响应行、响应头、响应体。响应头:用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理它回送的数据。根据提示,在右侧编辑器代码中 Begin-End 之间补充代码,实现将响应消息头部发送给请求客户端的功能。Server:服务器通过这个头告诉浏览器服务器的类型。本关任务:实现服务器向请求客户端返回响应头部信息的代码。在定义好响应消息的头部信息后,使用套接字的。原创 2023-03-12 13:30:27 · 507 阅读 · 0 评论 -
第3关:服务端读取请求文件内容
该方法从文件的开头开始读入,如果没有传入 count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python 字符串可以是二进制数据,而不是仅仅是文字。根据提示,在右侧编辑器代码的 Begin-End 之间补充代码,读取 HTTP 请求的文件内容并打印出来。结合上面 HTTP 请求格式可以看出,可以利用空格进行拆分,数组中的第 2 个元素即为请求文件名。函数打开一个文件,通过创建一个 file 对象,相关的方法才可以调用它进行读写。原创 2023-03-12 13:29:27 · 642 阅读 · 0 评论 -
第5关:服务端响应请求的正文
根据提示,在右侧编辑器代码中 Begin-End 之间补充代码,实现将请求文件发送到相应客户端的功能。本关任务:在WEB服务端程序中编写一段能将请求内容发送给相应客户端的代码。通过循环方式,将数组内容利用套接字的发送方法。方法即可知道发送内容的长度。前面获得请求文件内容存放在。如何获取发送内容的长度。如何发送数组元素内容。原创 2023-03-12 13:35:15 · 422 阅读 · 0 评论 -
第6关:服务端异常(文件不存在异常)处理
当请求的文件不存在(可能是文件名错误或路径错误)及其他可能导致文件访问错误(如没有相应权限)时,就会产生。根据提示,在右侧编辑器代码中 Begin-End 之间补充代码,实现将请求文件不存在的错误信息发送给客户端的代码。本关任务:在WEB服务端程序中编写实现客户端请求文件不存在的异常处理代码。将此响应消息头发给客户端,可以使用 socket 的发送方法。在异常处理代码中,定义响应客户端请求文件不存在的响应消息头代码。从而进入异常处理部分代码。如何发送定义的异常信息给客户端。如何捕获请求文件读取错误的异常。原创 2023-03-12 13:36:21 · 970 阅读 · 0 评论 -
第2关:服务端获取连接请求
当服务器中的套接字监听到了连接请求之后,内核和客户建立连接,并将连接放入连接队列中。典型的服务器程序是可以同时服务多个客户端的,当有客户端发起连接时,服务器就调用。接收到一个客户端连接请求后返回的一个新的套接字,它代表了服务端和客户端的连接。根据提示,在右侧编辑器代码的 Begin-End 之间补充代码,实现接收客户端的连接请求。返回并接收这个连接,如果有大量客户端发起请求,服务器来不及处理,还没有。时还没有客户端的连接请求,就阻塞等待直到有客户端连接上来。本关任务:完成服务端接收连接请求的一段程序。原创 2023-03-12 13:27:25 · 558 阅读 · 0 评论 -
第1关:创建流式套接字
提供一种可靠的、面向连接的双向数据传输服务,实现了数据无差错、无重复的发送。在 TCP/IP 协议簇中,使用 TCP 协议来实现字节流的传输,当用户想要发送大批量的数据或者对数据传输有较高的要求时,可以使用流式套接字。该套接字允许对较低层协议(如 IP 或 ICMP )进行直接访问,常用于网络协议分析,检验新的网络协议实现,也可用于测试新配置或安装的网络设备。为了满足不同的通信程序对通信质量和性能的要求,网络系统提供了三种不同类型的套接字,以供用户在设计网络应用程序时根据不同的要求来选择。原创 2023-03-12 13:25:24 · 917 阅读 · 0 评论