2017-10-05 107 views
0

我學習Java,並給出實現HTTP服務器的簡單版本,能夠一個任務:創建HTTP服務器的

  • 接受/GET請求,並將其路由基於URI
  • 接受/POST請求,並將其路由基於URI
  • 響應與適當的HttpResponse

這裏是我到目前爲止:

ServerSocket server = new ServerSocket(7777); 
    Socket socket = server.accept(); 

    String httpResponse = "Http/1.1 200/OK\r\n\r\n " + new Date(); 
    socket.getOutputStream().write(httpResponse.getBytes("UTF-8")); 

,我卡住了。我明白如何對所有內容返回「Hello World」HTTP響應,但我不知道如何處理HTTP請求。

你能不能給我一個可能的方向或一對夫婦的下一步我可以繼續前進?

+0

你可以使用碼頭或其他一些服務器開始? –

+0

你是什麼意思「路線他們根據uri」?這個「簡單」的HTTP服務器應該支持多個簡單的Web應用程序嗎? –

+0

如果你需要有一個HTTP的Java服務器,那麼你可以簡單地使用碼頭的東西。你不需要一個簡單的http服務器的ServerSocket。如果您可以提供更多關於您的要求的詳細信息,我可以提供更詳細的答案。 –

回答

0

如果你正在尋找一個HTTP的一個基本的例子請求,你可以使用像郵差(谷歌瀏覽器擴展程序)或HttpRequester(Firefox擴展)的工具,它允許你建立請求並查看代碼。

例如這裏是一個基本的要求:

GET /news/headlines?hl=en HTTP/1.1 
Host: news.google.com 
Cache-Control: no-cache 

這一請求得到了谷歌新聞標題頁。

如果你正在尋找如何使用套接字,你可以用Java Lesson: All About Sockets