如标题所示,我想编写一个HTTP服务器。我的问题是,我该怎么做?我知道这听起来很笼统,而且太“高级”,但是有一种疯狂的方法。我认为,这个问题的答案应该与语言无关。含义,无论我使用哪种语言(例如C,C ++,Java等),答案都应该相同。我对这应该如何工作有一个大致的了解:
- 打开端口80上的套接字。
- 等待客户提出请求。
- 阅读请求(即此人想要页面“ contact-us.html”)。
- 查找并阅读“ contact-us.html”。
- 发送html标头,然后发送“ contact-us.html”的内容
- 完成
就像我说的那样,我相信这是过程,但是我不确定100%。这使我想到了问题的核心。一个人如何或在哪里找到此信息?
如果我不想只写HTTP服务器怎么办,如果我不想写FTP服务器,聊天服务器,图像查看器等怎么办?一个人如何找到创建可用的HTTP服务器所需的确切步骤/过程?
一位同事告诉我有关html标头的信息,所以没有他我再也不会知道这一点。他还说了一些有关将每个请求移交给新线程的内容。是否有一些有关工作原理的大书?是否有使用HTTP服务器所需的一些手册?
我尝试谷歌搜索“ HTTP服务器如何工作”,但我只能找到针对普通百姓的答案,而不是针对希望对HTTP服务器进行编程的人。