学习之路-http简单总结

web内容都是存储在web服务器上的,其所使用的是http协议,因此常被称为http服务器。客户端想服务器发送http请求,服务器会在http响应中会送所请求的数据,如图1:


1.媒体类型

        http给每个通过web传输的对象都打上了MIME类型的数据标签。MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间有/隔开。如:

Content-type:image/jpeg

2.URL、URI、URN

        URI---服务器资源名,称为统一资源标识符,在世界范围内唯一标识并定位信息资源,分为URL和URN或者两者的结合。URL类似于住址,它告诉你一种寻找目标的方式(在这个例子中,是通过街道地址找到一个人)。要知道,上述定义同时也是一个URI。

关于URL:

URL是URI的一种,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。

eg:           http://bitpoetry.io/posts/hello.html

关于URN:

URN是URI的一种,用特定命名空间的名字标识资源。使用URN可以在不知道其网络位置及访问方式的情况下讨论资源。

eg:           bitpoetry.io/posts/hello.html

3.事务

        一个http事务由一条请求和一个响应组成的,这种通信是通过http报文的格式化数据块进行的,如图2:


图2

        http支持不同的请求方法,常见的有get、put、delete、post、head五种,get方法不包含主体,post包含主体(参数位置)。响应报文中会携带一个状态码,如200请求成功,文档正确返回,404not found 无法找到资源等。报文包括以下3个部分:

起始行:第一行,请求报文中说明要做什么,响应报文中说明出现什么情况;

首部字段;起始行后有零个或者多个首部字段,每个字段包含一个名字和一个值。

主体:请求主体包括要发送给服务器的数据,响应主体装载要返回客户端的数据。主体中除了文本,还可以包含任意的二进制数据(图片、视频、音乐等)。

4.链接

         http是应用层协议,其不操心网络通信的具体环节,其都交给了通用可靠的网络传输协议TCP/IP。TCP传输是可靠的,按顺序的将任意尺寸的数据传输。https是在下图http和tcp之间加入TSL或者SSL,SSL后面解释,如图3


图3

第一个URL:http://207.200.82.29:80/index.html使用了机器的ip地址

第二个URL:  http://www.taiyonghai.com/index.html使用了域名,主要通过域名服务DNS将域名(主机名)转换为Ip,端口号默认为80。

主要步骤:

-----浏览器从URL中解析出服务器的主机名

-----通过DNS将主机名转换为ip地址

-----将端口号从URL中解析出来

-----浏览器建立一条与web服务器的TCP连接

-----浏览器向服务器发送一条请求报文

-----服务器想浏览器回送一条响应报文

-----关闭连接,浏览器显示文档

5.web的结构组件

代理:客户端和服务器之间的http中间实体,用于转发客户端的http请求,可能会对http请求过滤或者修改。


缓存:使常用页面的副本可以保存在离客户端更近的地方,如代理缓存


网关:连接其他应用程序的特殊web服务器,作为其他服务器的中间实体使用,通常将http流量转换成其他协议,网关接受请求就像自己是资源的源端服务器一样。客户端可能并不知道自己正在与宇哥网关通信。


隧道:隧道是建立起来之后,就会在两条链接之间对原始数据进行盲转发的http应用程序且转发时不会窥探数据。http隧道的一种常见用途是通过http链接承载加密的安全套接字层SSL流量。HTTP/SSL隧道收到一条请求,要求建立一条到目的地址和端口的输出链接,然后在http信道上通过隧道传输加密的SSL流量,这样就可以将其转发到目的服务器上去了。


agent代理:发起自动http请求的半智能web客户端。比如网络蜘蛛会在无人监视的情况下发布http书屋并获取内容,搜集信息构建有效的web内容档案。


6.通用URL组件

大多数URL方案的URL语法都建立在9个部分构成:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>


比如,ftp://taiyonghai:hai2450180@www.wushisb.com:80/index.html,其方案是http,用户为taiyonghai,密码为hai2450180,主机为www.wushisb.com,端口为80,路径/index.html。

7.常见的方案

http:   超文本传输协议方案,没有用户名和密码,与通用URL格式相符,端口默认80

            http://www.wushisb.com:80/index.html

https:  方案与http一致,唯一区别是使用了网景的SSL,SSL给传输提供加密机制,比http安                   全,默认端口为443。

             https://www.wushisb.com:80/index.html

mailto: 指向E-mail地址

              mailto:hai@woshisb.com

ftp:       文件传输协议URL可以从FTP服务器上下载和上传文件,并获得FTp服务器上的目录结                构内容的结构内容的列表。

             ftp://taiyonghai:hai2450180@www.wushisb.com:80/index.html

file:       指定一台主机,如果省略主机名,默认使用URL的本地主机

              file://OFFICE-FS/taiyonghai/kannimei.doc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容