Short story
In September 2017, the company where I worked started talking about the plans to create a domain registrar. As a very young specialist (20 years old and the beginning of the 3rd year of bachelor's degree), I quickly recognized in him a project that could give me a chance to prove myself. And to my happiness, either they believed in me so much, or the project was not considered promising, but it was me who got it, almost entirely. At the time of the start of work, I assumed that there would be little material even for a bachelor's degree. I've never been so wrong. Everything from understanding how the system works to designing and writing it took a very long time. A lot of theory has been rethought about Networks, design patterns and generally about work.
What is a domain?
I think many people imagine what a domain or domain name is. This is a word that replaces the real address of the Internet server. For example, "habr.com" is a domain name consisting of the top-level domain "com" and the second-level domain "habr".
Each domain zone is owned and managed by someone. The .com domain zone is owned by Virisign (formerly Network Solutions). This means that this company is issuing permissions for .com domains, including habr.com. When buying a domain for a year (in reality, renting), the request ultimately goes to the servers of this company.
- .ru .. . , , , .
- , ? .
- . , FRED. , , , ( FRED - , ).
- . , .
. , - vk.com, mihail-petrovich-santehnik.ru, . 0 . , 200 , , . .
"" , , . , "vk.com" , . .
, bank.ru , - . (?) 3. bank.ru , .
. .
, , , . , - . - .
, . A.ru, cat.ru, . , - cat.ru . , .
- , . - . , .
- .
. -, //. - , , , .
, EPP TCP. XML. XML-, XML . EPP , TLS . , TLS, , OpenSSL.
, .
- , , . - . , - id .
. , .
, 11 . , , , . - .
, , , .
. , , , . .
Registry
-. . Singleton () //, , id , , ssl- , , curl .
XML. 20 , XML. , – , XML.
Registrar, Host, Domain, Contact
- () . , , POST-. , . , (, -, ).
Poll
, , , , . . . . , .
R
R ( . Regexp) – , . , . R RU – , . , ( , ). R Registrar .
Base
. XML , . .
, .
. MariaDB. , , . , text, JSON. , , MySQL. .
ClickHouse . , . , . , , . ClickHouse - , .
, . , .
. , - . , , , . .
!