I'm testing the http functionality. In my code I test against 2 different servers, one plain http port 80 "postman-echo.com/post" The second server is private https server. During testing I noticed that after sending an XHTTPCCON with security tag, I could not successfully connect to non-secure http server unless I power cycled the nrf9160 development kit.
It appears after the security tag is introduced on any XHTTPCCON, its not possible to perform non-secure HTTP.
I further tested this by only trying to connect to postman-echo.com/post.. alternating between HTTP port 80 with no security tag and HTTPS port 443 with a security tag. (NOTE: port 443 secure connection does not work but the effect on httpc is the same) I found the first HTTP port 80 request was successful and all subsequent HTTPS and HTTP attempts failed.
I reviewed the code and found in slm_at_httpc.c the httpc data structure is statically allocated. Once httpc.sec_transport is set true by an XHTTPCCON command in handle_at_httpc_connect, there is no code that will set it back to false. The only way to clear the sec_transport flag is by reset.