第9章 应用层(4)_超文本传输协议HTTP

5. 超文本传输协议HTTP

5.1 统一资源定位符URL

(1)URL的一般形式:<协议>://<主机>:<端口>/<路径>

  ①协议后面必须写上“://”,不能省略;

  ②主机是指该主机在因特网上的域名或IP地址;

  ③端口和路径有时候可以省略。

(2)举例

  ①HTTP的URL一般形式:http://<主机>:<端口>/<路径>。其中端口默认为80,通常可省略。

  ②FTP的URL一般形式:ftp:// <主机>:<端口>/<路径>。其中端口号默认为21。如ftp://user:[email protected]:9921

5.2 绝对路径和相对路径

(1)绝对路径(URL):为文件提供完全的路径,包括使用的协议,如http、ftp和rtsp等。如http://www.sohu.com,ftp://202.136.254.1当链接到其他网站资源时,必须使用绝对路径

(2)相对路径:指向站点文件夹之内的文件(或文件夹)。只要是同一网站之下的,即使不在同一个目录之下,相对路径也非常合适。

  ①如果链接到同一目录下,则只需要输入要链接文档的名称。

  ②要链接到下一级目录中的文件,只需先输入目录名,然后加“/”再输入文件名。

  ③如果要链接到上一级目录中的文件,则先输入“../”,再输入目录名、文件名。

(3)根路径:相对于网站的根目录。以斜杠开头,然后是文件夹名,最后写文件名。如“/dir/file1.txt”

5.3 HTTP协议版本

(1)http1.0和http1.1的比较

  ①由于Web站点访问量大,为了提高系统的效率,HTTP1.0规定浏览器与服务只保持短暂连接,浏览器的每次请求都需要与服务器建立一个tcp连接。这也造成一些性能上的缺陷。比如,当一个包含许多图像的网页文件(如大量的<img>标签),每下载一个图像文件都必须单独创建一个tcp连接,那怕图像文件很小也如此。由于频繁建立和关闭tcp连接会严重影响服务器的性能。

  ②http1.1支持持续连接。指的是Web服务器在发送响应后的一段时间内仍保持这条连接,使同一客户(浏览器)和该服务器的通信可以继续使用该连接。这并不局限于传送同一个页面上链接的文档,而只要这些文档都在同一个服务器上就行,它减少了建立和关闭连接的浪费。(目前IE默认使用http1.1,可在“工具”→“Internet选项”→“高级”→“HTTP1.1设置”中设置或取消,若取消则使用的是1.0版本)

(2)http1.1持续连接的两种工作方式

  ①非流水线方式的特点:客户在收到前一个响应后才能发出下一个请求。因此在TCP连接建立后,客户每访问一次对象都要用去一个往返时间RTT。如果要下载的文件很多,服务器在发送完一个对象后,其TCP连接就处理空闲状态,浪费了服务器资源。

  ②流水线方式的特点:客户在收到http的响应报文 就能够接着发送新的请求报文。于是一个接一个的请求报文到达服务器后,服务器就可以连接发回响应报文。这种方式使TCP连接的空闲时间减少,提高了文档的下载效率。因此,下载速度比非流水线的快很多。

5.4 HTTP的请求报文和响应报文

(1)请求报文(从客户端向服务器发送的请求报文)

   ①由于http是面向文本的,因此在报文中的每个字段都是一些ASCII码串,通常以\r\n结束

  ②http请求报文由三部分组成:A.开始行。主要用于区别是请求报文还是响应服文。B.首部行,用来说明浏览器、服务器或报文主体的一些信息。首部可以多行,也可以不使用。每一行都以“回车”和“换行”结束。整个部分行结束,还要有一个“回车”和“换行”。C.实体主体。在请求报文中一般不用这个字段,而响应报文中也可能没有这个字段。

  ③“请求行”的“Request Method”共有8方法见上图)。用来表示对“Request URI”指定的资源的不同操作方式,注意方法名是区别大小写的!

(2)响应报文(从服务器到客户端的应答)

  ①响应报文的第1行是状态行:包括http版本、状态码以及解释状态码的简单短语等三项内容。

  ②状态码(Status Code)共5大类33种


状态码


含义


1xx


表示通知信息。如请求收到了或正在进行处理


2xx


表示成功。如接受或知道了


3xx


表示重定向。如要完成请求还必须采取进一步的行动


4xx


表示客户端的错误。如请求中有错误的语法或不能完成


5xx


表示服务器的差错。如服务器失效无法完成请求

5.5 Cookie

(1)Cookie简介:

  ①由于http是一种无状态的协议。为了记录信息,当客户端请求服务器时,如果服务器记录需要记录该用户的状态,就使用response向客户端浏览器颁发一个Cookie,客户端浏览器会把Cookie保存起来。

  ②当浏览器再次请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器会检查该Cookie,还可以根据需要修改Cookie的内容。

(2)Cookie的导出和导入

  ①导出:浏览126邮箱,选择“十天内免登录”。然后“文件”→“导入和导出”→“导出Cookie” →指定保存位置

  ②导入:在另一台计算机上,打开浏览器→“文件”→“导入和导出”→“导入Cookie”,然后打开126邮箱,该网站自动读取Cookie并自动登录。

(3)Cookie安全(删除Cookie):“Internet选项”→“常规”→“删除Cookie”

5.6 通过代理服务器访问网站

(1)代理服务器应用场景

  ①使用代理服务器,绕过防火墙封锁。由于国内防火墙拦截了到某些国外网站(如B)的流量。但国外有很多Web代理服务器(如C),国内用户可以设置浏览器使用国外的代理服务器,然后再去访问这些网站就能成功。

  ②提高内网用户的访问速度。代理服务器可以缓存用户访问过的内容,当其他用户再访问相同的URL时,由代理服务器从缓存中找到要访问的信息,传给用户,从而提高访问速度。

  ③隐藏真实IP。有些网站的论坛会记录发贴人的IP地址,可以使用代理服务器去访问,这样网站只会记录代理的地址,从而隐藏自己的IP。

(2)架设Web代理服务器

  ①将Win2003虚拟机架设成Web代理服务器:运行CCProxy软件。(注意本机IP:192.16.80.20,运行该软件后默认会在808端口监听客户端连接)

  ②通常代理服务器有两个网卡,一个连接Internet,一个连接内网。连接内网的网卡为内网计算机上网的代理地址。(本实验Web代理服务器就一个网卡,因此需要指定哪个地址可以作为代理地址,方法是CCProxy→“帐户” →在“允许范围”中选择“允许所有”)。

(3)测试代理

  ①xp机上指定使用代理服务器:打开IE→“工具”→“Internet选项”→“连接”选项卡→“局域网设置”→在“代理服务器”中填入IP和端口(如上面的IP:192.168.80.20,端口808)

  ②浏览网站。然后用netstat -an查看,就可以看到只有和Web代理建立的TCP连接了。也可以在Win2003的代理服务软件的“监控”中看到这些信息。

时间: 2024-10-24 13:17:29

第9章 应用层(4)_超文本传输协议HTTP的相关文章

Telnet协议,SSH协议(安全外壳协议),SSL协议(安全套接层协议),HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议

2.Telnet协议 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.在终端使用者的电脑上使用telnet程序(如putty),用它连接到服务器.终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样.可以在本地就能控制服务器.要开始一个telnet会话,必须输入用户名和密码来登录服务器.Telnet是常用的远程控制Web服务器的方法. 3.SS

HTTP(超文本传输协议)

掌握HTTP虽然不是必须的,但是如果你知道它的工作原理,那么在学习JSP开发中的某些知识就可以易如反掌了. 一,HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用. HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host[":"port][

http 超文本传输协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基.Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(

http超文本传输协议,get与post区别

一:什么是http? http:超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端传输的标准,是应用层通信协议.客户端是中端用户,服务器端是网站,服务器上存放着很多资源文件. 通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接.HTTP服务器则在那个端口监听客户端发送过来的请求.一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息. 通常H

HTTP协议,超文本传输协议

HTTP协议,超文本传输协议a.Http协议现在使用的是1.1的版本b.Http协议是应用层协议,底层要求使用可靠传输协议传输数据.通常传输层协议使用Tcp协议c.Tcp协议规定两台计算机之间如何传输数据.d.HTTP协议规定传输数据的格式,以便两台计算机之间理解对方发送的内容e.HTTP协议规定了客户端与服务端之间的通讯模式必须遵循1次请求一次响应的通讯过程f.首先由客户端(谁发送请求谁就是客户端)发起请求(Request),客户端通常是浏览器.然后服务端接收并输出该请求,然后给予响应(Res

超文本传输协议,http请求过程

超文本传输协议. 2.http请求过程. { 1> http协议: 超文本传输协议(Hypertext Transfer Protocol) { http协议规定了客户端和服务器之间的数据传输格式. http协议是在网络开发中最常用的协议.不管是移动客户端还是PC端,访问网络资源经常使用http协议. http优点: <1> 简单快速: http协议简单,通信速度很快. <2> 灵活: http协议允许传输任意类型的数据. <3> http协议是短连接(非持续性连

Servlet - HTTP超文本传输协议

HTTP (超文本传输协议) 超文本传输协议(HTTP)是用于协作.分布式.超媒体信息系统的应用级协议.它是用于建立客户端和服务器之间通信的数据通信协议. HTTP协议是基于TCP/IP的通信协议,用于在万维网(WWW)上传输图像文件.查询结果.HTML文件等数据,默认端口是TCP 80,为计算机提供了标准化的方法相互沟通. HTTP(超文本传输协议)的基本特点: 1.允许网络服务器和浏览器之间通过网络交换数据 2.请求/响应的协议 3.在TCP 80端口上默认使用可靠的TCP连接 4.是一种无

HTTP协议(HyperText Transfer Protocol,超文本传输协议)

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准.HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等).:::::::::::::::::::::::::::::::::::::::::::::::::::::HTTP 简介http:/ /www.iis7.com/b/plc/HTTP协议是Hyper Text Transfer Protoco

吾解——HTTP(超文本传输协议)

今天拜读了一本<图解HTTP>,将HTTP总结一下. HTTP(超文本传输协议):一种规则 1.定义:一个简单的请求-响应协议,它通常运行在TCP之上.它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应. 2.特性:①HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态.这就大大减轻了服务器记忆负担,从而保持较快的响应速度    ②客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连