17 - 02 - 07 计算机网络(28)(http协议简述)
2017-01-06 08:59
686 查看
超文本标记语言HTML:
也就是书写网页的语言,在语言中 <.....>是标记,标记不会显示,每个标记都有相应的功能. (具体略略、略略)。
利用HTML和CSS制作的网页是静态网页(不能改变显示内容),很多应用用静态网页根本无法实现,比如高考查成绩,
难道你要制作几十万个网页吗?。。动态网页技术可以解决这个问题,在查询成绩的网页中插入部分程序,程序查询出成绩,
作为网页的一部分返回给浏览器,这样一来,只需要一个含有程序的动态网页,就能根据不同的账号显示不同的成绩。
超文本传输协议(http):
WWW使用HTTP协议。报文的字符都是ASCII码,这与TCP/IP协议不同。
HTTP报文由一个请求行,若干个首部行与实体主体组成,行与行之间用回车与换行的ASCII码分隔,同一行的不同字段使用空格的ASCII码分隔。
下面是HTTP请求报文格式:
1) 请求行由
方法、URL 与 HTTP版本三个字段组成。方法有多个,最常用的是GET、POST方法,
GET表示请求获取一个文件,POST表示在请求获取一个文件的同时,还附带了表单数据。URL是请求获取的文件名。HTTP现在常用的版本是1.1.
2) 首部行由字段名与值两部分组成。首部行可多可少,大部分首部行都是选项,用以向WWW服务器说明一些情况。
3) 使用POST方法时,表单中的数据放在实体主体中,而在使用GET方法时,主题实体是空的,主体实体用空行与首部分隔开。
下面是一个具体的HTTP请求报文例子:
GET/somedir/index.html HTTP/1.1
User-agent:Mozilla/4.0
Accept : Text/html , Image/gif , Image/jpeg
Accept : Language : ch-cn
请求行中的URL通常只需要文件名,User-agent首部行向 WWW服务器说明浏览器的种类,
(历史问题;即使是微软的IE 在这个首部行中也填写Mozilla) 。
Accept首部行说明了浏览器可以介绍媒体类型,在这个例子中,有HTML网页,GIf/JPEG图片。
Accep-language 说明了浏览器可以接受的网页使用的语言,zh-cn是中文的代号,
除此之外还有很多的其他的首部行,这里不一一介绍。
可以看出
一个HTTP请求只能请求一个文件,如果一个网页中含有图片、Flash、等其他对象,
这些对象都是单独的文件,那么浏览器就要发出多个HTTP请求报文。依次下载这些对象 来达到访问的目的。
从这里还能看出HTTP不仅是能下载网页(http) ,实际上HTTP能下载任何一种类型的文件。
HTTP响应报文的字符亦是ASCII码,其第一行是状态行,状态行由HTTP版本、状态码 与 状态短语 三个字段组成。
状态码是三位数字,用来说明WWW服务器对HTTP请求的处理情况。状态短语是对状态码的文字描述。
有几十种状态码和状态短语,最常出现的状态码是200,状态短语是OK
下面是一个具体的HTTP响应报文例子:
HTTP/1.1 200 OK
Data:Sat,06 June 2009 12:00:15 GMP
Server:Apache/1.3.0(Unix)
Last-Modified : Fir , 06 Feb 2009 17:45:59 GMP
Content-Length:6821
Content-Type:text/html
.
.
.
data........................
其中data首部行说明HTTP响应产生的时间; Server首部行说明WWW服务器软件是Apache ;
Last-Modified首部行说明响应返回的文件的最后修改时间 ; Content-Type首部行说明返回文件的类型是HTML网页,
Content-Length首部行说明返回文件的大小。最后是发送给浏览器的文件数据,用空行与首部相隔开。
也就是书写网页的语言,在语言中 <.....>是标记,标记不会显示,每个标记都有相应的功能. (具体略略、略略)。
利用HTML和CSS制作的网页是静态网页(不能改变显示内容),很多应用用静态网页根本无法实现,比如高考查成绩,
难道你要制作几十万个网页吗?。。动态网页技术可以解决这个问题,在查询成绩的网页中插入部分程序,程序查询出成绩,
作为网页的一部分返回给浏览器,这样一来,只需要一个含有程序的动态网页,就能根据不同的账号显示不同的成绩。
超文本传输协议(http):
WWW使用HTTP协议。报文的字符都是ASCII码,这与TCP/IP协议不同。
HTTP报文由一个请求行,若干个首部行与实体主体组成,行与行之间用回车与换行的ASCII码分隔,同一行的不同字段使用空格的ASCII码分隔。
下面是HTTP请求报文格式:
1) 请求行由
方法、URL 与 HTTP版本三个字段组成。方法有多个,最常用的是GET、POST方法,
GET表示请求获取一个文件,POST表示在请求获取一个文件的同时,还附带了表单数据。URL是请求获取的文件名。HTTP现在常用的版本是1.1.
2) 首部行由字段名与值两部分组成。首部行可多可少,大部分首部行都是选项,用以向WWW服务器说明一些情况。
3) 使用POST方法时,表单中的数据放在实体主体中,而在使用GET方法时,主题实体是空的,主体实体用空行与首部分隔开。
下面是一个具体的HTTP请求报文例子:
GET/somedir/index.html HTTP/1.1
User-agent:Mozilla/4.0
Accept : Text/html , Image/gif , Image/jpeg
Accept : Language : ch-cn
请求行中的URL通常只需要文件名,User-agent首部行向 WWW服务器说明浏览器的种类,
(历史问题;即使是微软的IE 在这个首部行中也填写Mozilla) 。
Accept首部行说明了浏览器可以介绍媒体类型,在这个例子中,有HTML网页,GIf/JPEG图片。
Accep-language 说明了浏览器可以接受的网页使用的语言,zh-cn是中文的代号,
除此之外还有很多的其他的首部行,这里不一一介绍。
可以看出
一个HTTP请求只能请求一个文件,如果一个网页中含有图片、Flash、等其他对象,
这些对象都是单独的文件,那么浏览器就要发出多个HTTP请求报文。依次下载这些对象 来达到访问的目的。
从这里还能看出HTTP不仅是能下载网页(http) ,实际上HTTP能下载任何一种类型的文件。
HTTP响应报文的字符亦是ASCII码,其第一行是状态行,状态行由HTTP版本、状态码 与 状态短语 三个字段组成。
状态码是三位数字,用来说明WWW服务器对HTTP请求的处理情况。状态短语是对状态码的文字描述。
有几十种状态码和状态短语,最常出现的状态码是200,状态短语是OK
下面是一个具体的HTTP响应报文例子:
HTTP/1.1 200 OK
Data:Sat,06 June 2009 12:00:15 GMP
Server:Apache/1.3.0(Unix)
Last-Modified : Fir , 06 Feb 2009 17:45:59 GMP
Content-Length:6821
Content-Type:text/html
.
.
.
data........................
其中data首部行说明HTTP响应产生的时间; Server首部行说明WWW服务器软件是Apache ;
Last-Modified首部行说明响应返回的文件的最后修改时间 ; Content-Type首部行说明返回文件的类型是HTML网页,
Content-Length首部行说明返回文件的大小。最后是发送给浏览器的文件数据,用空行与首部相隔开。
相关文章推荐
- C++ 用libcurl库进行http通讯网络编程
- go 语言 TCP服务器接受客户端字符串信息
- 网络编程(54)—— Windows下使用WSASocket基于事件进行IO重叠
- HTTP请求的GET与POST方式的区别
- Microsoft Operations Management Suite 启用NPM网络性能监视
- 良心让狗吃了的网络程序设计考察报告
- IOS URL无法对加号进行编码导致http请求时服务器端获取的内容中加号变成空格问题
- okhttp之get请求
- Sharepoint client model 中出现Cannot invoke HTTP DAV request. There is a pending query 的解决办法
- Java网络编程初探
- http协议模拟发送
- HTTP协议解析
- 使用golang 搭建http web服务器[待编辑]
- HTTP Live Streaming协议草案各版本加入的新特性
- Rest API 开发 学习笔记
- 游戏开发心悟
- redis anet网络通信的源码分析
- Tcp连接中的三次握手四次挥手
- 常用网络端口
- 理解HTTP幂等性