http学习笔记
1. 什么是Http?
Hypertext Transfer Protocol-超文本传输协议
HTTP是一个应用层的协议
2. Http的历史版本
HTTP/0.9;HTTP/1.0;HTTP/1.1(文档);HTTP/2.0(Http2.0的文档)
3. TCP/IP协议簇中与Http密不可分的IP Tcp DNS
下图说明了这几个协议所处的网络分层中的那一层:
首先IP是一种协议,就是来保证数据的确实传到了对方。IP地址是网际分配的一个地址。
TCP是用来保证可靠性传输的,有个对应的不可靠传输UDP。
DNS(Domain Name System)服务与http协议一样位于应用层。提供了域名与ip之间的解析。
下面一个图说明了他们之间的关系:
4. URI与URL的区别
URL: Uniform Resource Locator-统一资源定位符,例如:http://www.jianshu.com就是URL
URI: Uniform Resource Identifier-统一资源标识符, 文档-RF2396。当然,HTTP协议肯定是以http开始的,除此之外,还有file、ftp、telnet等。
URI的格式:协议名+登录信息+服务器地址+端口号+文件路径+查询字符串+片段标示符
例如:http://+user:pass+www.example.jp:8080/+dir/index.html+?id=1+#ch1
5. http请求相应报文
请求行:包括URI和http版本号
GET请求方法:其中http支持的方法除了常用GET、POST、PUT、DELETE之外,还有HEAD OPTIONS TRACE CONNECT
状态行:响应结果的状态码,原因短语和HTTP版本。
这里有大家经常遇见的:200-成功,404-找不到网页,500-服务器错误等。
MIME:Multipurpose Internet Mail Extensions,多用途英特网邮件扩展。邮件是可以发送图片文字等多种数据类型。http协议中也采纳了这种多数据对象集合的方法,来容纳多分不同的数据类型。查看文档详情,下面是几个例子:
multipart/form-data:表单数据与文件上传
text/plain:文本类型(Content-type的默认值,注:content-type用来说明http的数据媒体格式,下片会详细介绍)