探索浏览器内部——生成HTTP请求消息

1、从输入网址开始:

网址准确的来说应该叫URL(Uniform Resource Locator 统一资源定位符)。网址除了我们经常见到的“http:”(超文本传传送协议)开头的以外还包括例如“ftp:”“file:”“mailto:”等。不同的开头对应访问的服务器也各不同,例如访问Web服务器时用“http:”,而访问FTP(File Transfer Protocol 文件传送协议)服务器时用“ftp:”。

下面是常见的几种URL:

1、用HTTP协议访问Web服务器时:

http://user(用户名可省略):password(密码可省略)@www.glasscom.com(Web服务器域名):80(端口号可省略)/dir/file1.html(文件的路径名)

2、用FTP协议下载和上传文件时:

ftp://user(用户名可省略):password(密码可省略)@ftp.glasscom.com(FTP服务器域名):21(端口号可省略)/dir/file1.html(文件的路径名)

3、读取客户端计算机本地文件时:

file://localhost(计算机名可省略)/c:/path/file1.zip(文件的路径名)

4、发送电子邮件时:

mailto:tong@glasscom.com(邮件地址)

5、阅读新闻组的文章时:

news:comp.protocols.tcp-ip(新闻组名)

2、浏览器先要解析URL:

其实这一步骤就应对的结果就是上面各类URL中的标注,浏览器只有对URL进行解析之后,才会通过URL中各个部分的内容进行不同的操作。

3、生成HTTP请求消息:

对URL进行解析之后,浏览器就确定了Web服务器和文件名,接下来就是根据这些信息来生成HTTP请求消息。

首先,请求消息的第一行称为请求行,它会告诉Web服务器应该进行怎样的操作。这一步骤的关键在于浏览器的工作状态。除了一开始讲到的通过浏览器输入网址以外还有其他情况可以向Web服务器发送请求消息。例如点击网页中的超级链接,或者在表单的情况下点击按钮。不同的场景下浏览器告知Web服务器的操作方式可能就会不同。如果是通过浏览器输入网址的形式,那么应该使用GET方法;如果是点击超级链接的方式也是GET方法;如果是表单,在HTML源代码中会在表单的属性中指定使用哪种方法,可能是GET也可能是POST。

生成的HTTP请求消息的第一行内容例如:

GET(请求方法) /cgi/sample.cgi?Field1=ABCDEFG&SendButton=SEND(路径名) HTTP/1.1(HTTP协议版本)

第二行开始就是HTTP的消息头,其中包含了多个字段和值用来控制HTTP请求,具体的字段名这里就不一一赘述。

4、发送请求后会收到响应:

Web服务器在收到请求之后会返回响应消息,其格式与请求消息相同,差别只在第一行上,第一行的内容为状态码和响应短语,用来表示执行结果是成功还是出错。

返回响应消息之后,浏览器会将数据提取出来并显示在屏幕上或者进行其他处理。

HTTP状态码概要:

状态码含义
1XX告知请求的处理进度
2XX成功
3XX表示需要进一步操作
4XX客户端错误
5XX服务器错误
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值