Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何制作一个用C语言显示网页的程序?_C_Linux_Http_Sockets - Fatal编程技术网

如何制作一个用C语言显示网页的程序?

如何制作一个用C语言显示网页的程序?,c,linux,http,sockets,C,Linux,Http,Sockets,我对在Linux系统下使用C和socket库(或任何其他库)创建Web浏览器感兴趣 我的Web浏览器的基本用途是将网页的HTML呈现为用户可读的内容 我只想有人给我指出正确的方向。我对C中的套接字及其系统调用也有很好的理解。指向正确方向的指针,是吗 好吧,一个网络浏览器由一大堆系统组成,它们一起工作;即使是最基本的web浏览器也必须至少理解HTTP/1.1和HTML 它必须能够从远程服务器获取页面,将HTML解析为DOM,将其呈现到视口中,捕获鼠标单击,让它们激活超链接,并导航到新页面 但是,如

我对在Linux系统下使用C和socket库(或任何其他库)创建Web浏览器感兴趣

我的Web浏览器的基本用途是将网页的HTML呈现为用户可读的内容


我只想有人给我指出正确的方向。我对C中的套接字及其系统调用也有很好的理解。

指向正确方向的指针,是吗

好吧,一个网络浏览器由一大堆系统组成,它们一起工作;即使是最基本的web浏览器也必须至少理解HTTP/1.1和HTML

它必须能够从远程服务器获取页面,将HTML解析为DOM,将其呈现到视口中,捕获鼠标单击,让它们激活超链接,并导航到新页面

但是,如果它只能做到这一点,那么它就不能作为网络浏览器的借口;即使是最简单的web浏览器也应该能够解析和应用CSS;显示JPEG、PNG和BMP图像、解析XML、执行JavaScript、处理Cookie、脱机存储、插件(如flash)以及大约一百万件其他事情


当然,我想说的是,对于学习软件项目来说,网络浏览器在很多方面都是一个糟糕的项目,因为与基本功能相关的开销都是致命的。

指向正确方向的指针,是吗

好吧,一个网络浏览器由一大堆系统组成,它们一起工作;即使是最基本的web浏览器也必须至少理解HTTP/1.1和HTML

它必须能够从远程服务器获取页面,将HTML解析为DOM,将其呈现到视口中,捕获鼠标单击,让它们激活超链接,并导航到新页面

但是,如果它只能做到这一点,那么它就不能作为网络浏览器的借口;即使是最简单的web浏览器也应该能够解析和应用CSS;显示JPEG、PNG和BMP图像、解析XML、执行JavaScript、处理Cookie、脱机存储、插件(如flash)以及大约一百万件其他事情


当然,我想指出的一点是,对于学习软件项目来说,web浏览器在很多方面都是一个糟糕的项目,因为与基本功能相关的开销都是有害的。

尝试获取和阅读lynx源代码。(lynx是一种基于ascii的web浏览器)您可以使用像G-Wan这样的服务器来编写C servlet:尝试获取和读取lynx源代码。(lynx是一种基于ascii的web浏览器)您可以使用像G-Wan这样的服务器来编写C servlet:web浏览器就像一台虚拟机。@UmNyobe:我想这是一个不错的类比。web浏览器就像一台虚拟机。@UmNyobe:我想这是一个不错的类比。