在网站URL中添加http
当我浏览像www.google.com这样的网站时,是浏览器在它前面添加了http,还是初始请求没有协议名 我在ubuntu机器上使用ApacheWeb服务器对本地托管的URL进行了尝试。 我发现最初的数据包是TCP握手,然后请求为。初始TCP SYN数据包是否也尝试访问或仅访问www.example.com在网站URL中添加http,url,web,Url,Web,当我浏览像www.google.com这样的网站时,是浏览器在它前面添加了http,还是初始请求没有协议名 我在ubuntu机器上使用ApacheWeb服务器对本地托管的URL进行了尝试。 我发现最初的数据包是TCP握手,然后请求为。初始TCP SYN数据包是否也尝试访问或仅访问www.example.com 另外,在Wireshark中,TCP SYN数据包没有HTTP头。浏览器会添加它。不同的浏览器在如何将无效URL解析为正确URL方面有不同的逻辑。例如,如果您键入纯文字,某些浏览器会返回错
另外,在Wireshark中,TCP SYN数据包没有HTTP头。浏览器会添加它。不同的浏览器在如何将无效URL解析为正确URL方面有不同的逻辑。例如,如果您键入纯文字,某些浏览器会返回错误页面,而其他浏览器会打开搜索页面(例如google或bing)。不完整的URL也会发生同样的情况(例如,没有http:schema) 整个过程如下:
http://
指定应用层协议。如果没有指定协议,浏览器通常会采用HTTP。其他可能性包括ftp://
或(现代浏览器不再支持)gopher://
TCP的级别低于HTTP。在建立TCP连接时,应用层协议并不重要。
http://
从TCP的角度指出的唯一一件事是,如果没有明确指定端口号,则使用默认端口号。HTTP默认为端口80,FTP默认为端口21,等等。直到TCP会话建立之后,浏览器才开始讲HTTP(或FTP,或其他任何内容)。确定,因此TCP SYN数据包转到http://www.example.com
?我这样问是因为在ubuntu机器上的wireshark中,packetTCP SYN(TCP三方握手的一部分)中没有HTTP头,而TCP通信设置只是其中的一部分。只有在完成此操作后,浏览器才会发送HTTP头(通常是第4个TCP数据包,在SYN ACK后提交)。