The picture below explains it in best way (Read the text in blue written by me carefully).
Well, see we have firewall , we have two computer systems and the outside internet world (forget other things for a while). Computer 2 hosts some web content (say using web server on its port 80) so that anyone from outside world can access it via public IP address (you have done port forwarding). All you want is that Computer 1 should also be able to interact with computer 2 using its public IP (just like the outside world is doing).
You can simply redirect inside interface requests for the Public address to Computer 2. What i mean is instruct your firewall so that “ if I get traffic for 184.108.40.206 from my inside interface, instead of sending it out to the internet, send it towards Computer 2”.
See the above image now ! it simplies things a lot. Now you can see “hair pinturn” ( imaginge the flow of blue arrow).
What i mean is in hairpinning the traffic from Computer 1 will be meant for outside interface (as Public IP was used) , will go towards the outside internet but will return to intside inteface. This is hairpinning.