HTTP CONNECT ಪ್ರತಿಕ್ರಿಯೆಯ ನಂತರ ಬಫರ್ ಆದ ಡೇಟಾವನ್ನು ಉಳಿಸಿ
ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್ಗಳ ಗಡಿಯನ್ನು ಕಂಡುಹಿಡಿದು ಅದರ ನಂತರ ಬರುವ ಬೈಟ್ಗಳನ್ನು ಉಳಿಸುವ ಮೂಲಕ ಸಿಕ್ಕಿಹಾಕಿಕೊಂಡ HTTP CONNECT ಹ್ಯಾಂಡ್ಶೇಕ್ ತಪ್ಪಿಸಿ.
ಸಣ್ಣ ಪ್ರಾಕ್ಸಿ ರ್ಯಾಪರ್ HTTPS ಗಾಗಿ ಕೆಲಸ ಮಾಡಿ, ನಂತರ ಸರ್ವರ್ ಮೊದಲು ಮಾತನಾಡುವ ಪ್ರೋಟೋಕಾಲ್ಗಾಗಿ ಮತ್ತೆ ಬಳಸಿದಾಗ ನೇತಾಡಬಹುದು. ಅನುಮಾನಾಸ್ಪದ ಸಾಲು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ವೀಕೃತಿ ಬಫರ್ \r\n\r\n ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳಲು ಕಾಯುತ್ತಿರುವ ಸಾಲು.
TCP ಕ್ಲೈಂಟ್ಗೆ ಸ್ಟ್ರೀಮ್ ನೀಡುತ್ತದೆ. ಒಂದು ಸ್ವೀಕೃತಿ ಕರೆ ಅರ್ಧ HTTP ಸ್ಥಿತಿ ಸಾಲನ್ನು, ಪೂರ್ಣ CONNECT ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು, ಅಥವಾ ಆ ಪ್ರತಿಕ್ರಿಯೆಯ ನಂತರ ತಕ್ಷಣ ಟನೆಲ್ ಡೇಟಾವನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು. ಓದುವಿಕೆ ಹೆಡರ್ಗಳ ಕೊನೆಯಲ್ಲಿ ನಿಲ್ಲುತ್ತದೆ ಎಂಬ ಭರವಸೆ ಇಲ್ಲ.
ಬಫರ್ ಒಳಗೆ ಗಡಿಯನ್ನು ಹುಡುಕಿ
HTTP/1.1 CONNECT ವಿನಿಮಯಕ್ಕಾಗಿ, ಹೆಡರ್ ಮುಕ್ತಾಯ ಚಿಹ್ನೆ ಬಫರ್ನಲ್ಲಿ ಎಲ್ಲಿಯಾದರೂ ಕಾಣಿಸಿಕೊಳ್ಳುವವರೆಗೆ ಬೈಟ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ. ಅದರ ಮೊದಲ ಕಾಣುವಿಕೆಯಲ್ಲಿ ವಿಭಜಿಸಿ. ಸ್ಥಿತಿ ಸಾಲು ಮತ್ತು ಹೆಡರ್ಗಳನ್ನು ಮೊದಲ ಭಾಗದಿಂದ ವಿಶ್ಲೇಷಿಸಿ; ಗಡಿಯ ನಂತರದ ಎಲ್ಲವನ್ನೂ ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ. ಕಾಯುತ್ತಿರುವಾಗ ಹೆಡರ್ ಗಾತ್ರ ಮಿತಿ ಮತ್ತು ಕಾಲಯವಮಿತಿ ಅನ್ವಯಿಸಿ, ಮತ್ತು ಖಾಲಿ ಸಾಕೆಟ್ ಓದುವಿಕೆಯನ್ನು ಲೂಪ್ಗೆ ಮತ್ತೊಂದು ಆಹ್ವಾನವಲ್ಲ, ಮುಚ್ಚಿದ ಸಂಪರ್ಕ ಎಂದು ಪರಿಗಣಿಸಿ.
ಅಂತಿಮ ಯಶಸ್ವಿ 2xx ಪ್ರತಿಕ್ರಿಯೆ ಆ ಹೆಡರ್ಗಳ ನಂತರ ತಕ್ಷಣ ಸಂಪರ್ಕವನ್ನು ಟನೆಲ್ ಮೋಡ್ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ. ಅದನ್ನು ಅನುಸರಿಸುವ ಬೈಟ್ಗಳು ಈಗಾಗಲೇ ಟನೆಲ್ ಬೈಟ್ಗಳು. ಅವನ್ನು ಎಸೆಯಬೇಡಿ, CONNECT ಪ್ರತಿಕ್ರಿಯೆ ಬಾಡಿಗಾಗಿ ಕಾಯಬೇಡಿ, ಮತ್ತು Content-Length ಕ್ಷೇತ್ರವನ್ನು ಹೊಸ ಪ್ರೋಟೋಕಾಲ್ನ ಒಂದು ಭಾಗವನ್ನು ಬಳಸಲು ಅನುಮತಿ ಎಂದು ಅರ್ಥೈಸಬೇಡಿ. ಮಾಹಿತಿ ಪ್ರತಿಕ್ರಿಯೆಗಳಿದ್ದರೆ, ಅವನ್ನು ಆ ಅಂತಿಮ ಪ್ರತಿಕ್ರಿಯೆಯ ಮೊದಲು ನಿರ್ವಹಿಸಬೇಕು.
ರ್ಯಾಪರ್ ತನ್ನ ಉಳಿಕೆಗಳನ್ನು ಮುಂದಕ್ಕೆ ರವಾನಿಸಬೇಕು
ಕೇವಲ ಆಧಾರ ಸಾಕೆಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುವುದರಿಂದ ಹ್ಯಾಂಡ್ಶೇಕ್ ಪಾರ್ಸರ್ ಈಗಾಗಲೇ ಅದರಿಂದ ಹೊರತೆಗೆದ ಬೈಟ್ಗಳು ಕಳೆದುಹೋಗುತ್ತವೆ. ಮುಂದಿನ ಓದುಗನಿಗೆ ಮೊದಲು ಉಳಿಸಿದ ಬಾಲವನ್ನು ನೀಡಿ ನಂತರ ಸಾಕೆಟ್ ಓದುವಿಕೆಗಳನ್ನು ಮುಂದುವರಿಸುವ ಬಫರ್ ಮಾಡಿದ ಸ್ಟ್ರೀಮ್ ಬೇಕು. ಸರ್ವರ್-ಮೊದಲ ಪ್ರೋಟೋಕಾಲ್ಗೆ, ಆ ಆರಂಭಿಕ ವಂದನೆಯನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದು ಎರಡೂ ಕಡೆಗಳನ್ನು ಅನಂತವಾಗಿ ಕಾಯಿಸಬಹುದು.
ವಿಪರ್ಯಯವಾಗಿ, ವಿಫಲ CONNECT ಪ್ರತಿಕ್ರಿಯೆಯ ಬೈಟ್ಗಳು ಟನೆಲ್ ವಂದನೆಯಲ್ಲ. 407 ಇನ್ನೂ ಪ್ರಾಕ್ಸಿ ವಿನಿಮಯಕ್ಕೆ ಸೇರಿದ್ದು ದೃಢೀಕರಣ ನಿರ್ವಹಣೆ ಬೇಕು; ಇನ್ನೊಂದು ಅಸಫಲ ಸ್ಥಿತಿಗೆ ಸೂಕ್ತ ದೋಷ ಮಾರ್ಗ ಬೇಕು.
ಇದು ವಿಶೇಷವಾಗಿ HTTP ಪ್ರಾಕ್ಸಿ ಮೂಲಕ FTP ಅಥವಾ SSH ಕ್ಲೈಂಟ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ ಮುಖ್ಯ. ಪ್ರಾಕ್ಸಿ ವಿನಂತಿಸಿದ ಗಮ್ಯ ಪೋರ್ಟ್ ಅನ್ನು ಸಹ ಅನುಮತಿಸಬೇಕು, ಮತ್ತು FTP ಗೆ ಹೆಚ್ಚುವರಿ ಡೇಟಾ ಸಂಪರ್ಕಗಳು ಬೇಕಾಗಬಹುದು. ಸರಿಯಾದ ಹೆಡರ್ ವಿಶ್ಲೇಷಣೆ ಸ್ಟ್ರೀಮ್ ಹಸ್ತಾಂತರವನ್ನು ಪರಿಹರಿಸುತ್ತದೆ; ಅದು CONNECT ಅನುಮತಿ ನೀಡಲಾಗದು ಅಥವಾ FTP ಯ ಎರಡನೇ ಚಾನೆಲ್ ಒದಗಿಸಲಾಗದು.