了解Http

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

下图说明了这几个协议所处的网络分层中的那一层:

了解Http_第1张图片
图1.tcp ip http所在网络图

首先IP是一种协议,就是来保证数据的确实传到了对方。IP地址是网际分配的一个地址。

TCP是用来保证可靠性传输的,有个对应的不可靠传输UDP。

DNS(Domain Name System)服务与http协议一样位于应用层。提供了域名与ip之间的解析。

下面一个图说明了他们之间的关系:


了解Http_第2张图片
图2. http相关协议间关系

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请求相应报文


了解Http_第3张图片
图3. Request与Response的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的数据媒体格式,下片会详细介绍)

你可能感兴趣的:(了解Http)