Reputation: 11
I am interested in creating a Web Browser using C and the socket library (or any other library) under a Linux System.
The basic use of my Web Browser, would be to render the HTML of a webpage, into something readable to the user.
I just want someone to point me to the right direction. I also have a pretty good understanding of sockets and their system calls in C...
Upvotes: 0
Views: 1234
Reputation: 28999
A pointer in the right direction, eh?
Well, a web browser consists of a whole mess of systems working together; even the most basic web browser must, at an absolute minimum understand HTTP/1.1 and HTML.
It must be able to fetch pages from remote servers, parse the HTML into a DOM, render that to a viewport, capture mouse clicks, let them activate hyperlinks, and navigate to new pages.
But if it can only do that, it's a poor excuse for a web browser; even the simplest of web browsers should also be able to parse and apply CSS; display JPEG, PNG and BMP images, parse XML, execute JavaScript, deal with cookies, offline storage, plugins (such as flash), and about a million other things.
The point I'm trying to make, of course, is that a web browser is in a lot of ways a poor project for learning to do software projects, because the overhead related to even basic functionality is crippling.
Upvotes: 3