http请求的响应正文不都是html吗,还可以是css,图片,js等等?

不是每次请求都是返回html?图片,js,css不是包含在html中的?
还是说如果一个地址请求中的html包含图片的话,就算是两次的请求?

阅读 4.8k
5 个回答

http的content_type有下面的形式

Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;

Application:用于传输应用程序数据或者二进制数据;

Message:用于包装一个E-mail消息;

Image:用于传输静态图片数据;

Audio:用于传输音频或者音声数据;

Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。

可以指定资源类型的。
单次操作只能算作是一次请求。

你打开浏览器开发者工具,选到network,刷新,就可以看到所有的请求了.

当你打开一个网站的时候,浏览器会解析src属性生成新的get请求.就是你说的图片之类的.

你可以这么理解,任何东西都是资源,直观地,你可以把出现的任何url(包括相对url)都对应一个资源,所以一个文档中包括图片,这些图片不是都有src属性么,这就是url,每个资源都对应一种类型,即MIME类型,只要服务器愿意提供,只要客户端(浏览器)可以解析,那么都是没有问题的

http是传输协议,理论上可以传输任何数据(经过包装——打包的)具体传说什么其实还是依据请求和响应来决定。
而为了方便客户端解析获得的数据,所以定义(经过协商、声明、大家认可)了系列content_type,如1楼所说。但这仅仅是一种声明式的,你完全可以在开发具体应用时突破,比如虽然你声明为text,但传输的可能是base64编码的二进制数据。

基本上所有的数据类型都可以转换成二进制数据流,所以基本上都可以传输。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题