簡而言之,我想簡單地解釋一下像Web瀏覽器這樣的應用程序如何解析URL,查詢DNS服務器,然後實際建立TCP連接。如何從URL中構建DNS查詢?
我的例子是這樣的:
http://site.example.com:7902/svn
現在,在這種情況下,與正常的主機記錄,也不會在DNS查詢簡單地嘗試解決site.example.com
部分爲IP地址?
備用端口號是如何進入情況的?我認爲端口號與基本的DNS解析無關。正如我期望的DNS解析site.example.com
,然後在形成TCP數據包時使用端口號。然後,我希望目錄/svn
可以簡單地在TCP連接建立後傳遞。
現在對於我的動機:
最近,我問爲什麼,我將能夠使用它的外部IP地址和備用端口號來訪問Apache服務器的問題,但有一個問題使用的域時名稱。
所以,我的問題是,這工作得很好:
http://xx.xx.xxx.xxx:7902/svn // this works fine with my external IP
...但使用DNS當它失敗:
http://site.example.com:7902/svn // this didn't resolve
帶着這個問題我使用了不同的DNS提供商(而不是dyndns)和一切工作正常。所以我問這個問題,因爲我很好奇爲什麼我不能在我的dyndns主機名上使用備用端口號。
感謝試圖理解這一點......
這裏似乎很好解釋:https://en.wikipedia.org/wiki/Domain_Name_System#Structure –