Useful excerpt from Gopher+ specification ========================================== Data transfer - Basic ~~~~~~~~~~~~~~~~~~~~~~ Request: selector [TAB] "+" [CRLF] Successful response (static response size): [+] response_size [CRLF] response_body Successful response (dot mode): [+] "-1" [CRLF] response_body [CRLF] . [CRLF] Successful response (plain) [+] "-2" [CRLF] response_body Error response [-] error_code [CRLF] error_data [CRLF] "." [CRLF] Error codes: -1 - Not available -2 - Server busy -3 - Moved/Redirect (data contains new location) Data transfer - Advanced ~~~~~~~~~~~~~~~~~~~~~~~~~ Request specific representation selector [TAB] "+" representation [CRLF] selector [TAB] "+" representation [TAB] "0" [CRLF] Request with data sent selector [TAB] "+" representation [TAB] "1" [CRLF] data_block Datablock format (same as response) [+] data_size [CRLF] data_body [+] "-1" [CRLF] data_body [CRLF] . [CRLF] [+] "-2" [CRLF] data_body