which method can get the tick fast and accurate, http or websocket?

we can use http and socket to get the tick info, http is
"GET /api/v3/ticker/bookTicker"
websocket is Stream Name: <symbol>@bookTicker
I used to use websocket because I though the websocket are not like the http “3-way handshark”. but the websocket are usually error like that

2021-03-22 17:49:44 [WARN] - [Sub][1] No response from server
2021-03-22 17:49:44 [WARN] - [Sub][1] Reconnecting after 15 seconds later
2021-03-22 17:49:44 [ERROR] - [Sub][1] Unexpected error: Socket closed
17:49:44,714 |-INFO in ReconfigureOnChangeTask(born:1616341964713) - Empty watch file list. Disabling 
2021-03-22 17:50:00 [INFO] - [Sub][1] Connecting...
2021-03-22 17:50:00 [INFO] - [Sub][1] Connected to server
17:50:14,714 |-INFO in ReconfigureOnChangeTask(born:1616341964713) - Empty watch file list. Disabling 
17:50:44,714 |-INFO in ReconfigureOnChangeTask(born:1616341964713) - Empty watch file list. Disabling 
2021-03-22 17:51:01 [WARN] - [Sub][1] No response from server
2021-03-22 17:51:01 [WARN] - [Sub][1] Reconnecting after 15 seconds later
2021-03-22 17:51:01 [ERROR] - [Sub][1] Unexpected error: Socket closed

and maybe the http is more fast and accurate? what you advise?

Hi, I would recommend web socket to be faster and avoid accumulation of request weight per IP.
Are you following the guidance to make the web socket alive? Please head to this page to read more: https://binance-docs.github.io/apidocs/spot/en/#websocket-market-streams