一、简介
1.http默认端口号为80,Https的端口号默认为443;
2.http协议永远都是客户端发起请求,服务器回送响应(这样也就限制了使用http协议,无 法实现在客户端没有发起请求的时候,服务器将消息推送给客户端);
3.http协议是个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系的;
4.HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。
二、请求消息
请求消息结构如下:
<request-line>
<headers>
<blank line>
[<request-body>]
其中“请求行”为:请求行 = 方法 [空格] 请求URI [空格] 版本号 [回车换行]
请求行实例:
例1:GET /index.html HTTP/1.1
例2:POST http://192.168.2.217:8080/index.jsp HTTP/1.1
在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
以下就是一个典型的POST请求:
POST / HTTP/1.1
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley
从上面可以发现, POST请求和GET请求之间有一些区别。首先,请求行开始处的GET改为了POST,以表示不同的请求类型。你会发现首部Host和User-Agent仍然存在,在后面有两个
新行。其中首部Content-Type说明了请求主体的内容是如何编码的。浏览器始终application/ x-www-form- urlencoded的格式编码来传送数据,这是针对简单URL编码的MIME类型。首部Content-Length说明了请求主体的字节数。在首部Connection后是一个空行,再后面就是请求主体。与大多数浏览器的POST请求一样,这是以简单的“名称—值”对的形式给出的,其中name是Professional Ajax,publisher是Wiley。你可以以同样的格式来组织URL的查询字符串参数。
三、响应消息
响应消息结构:
<status-line>
<headers>
<blank line>
[<response-body>]
其中:状态行 = 版本号 [空格] 状态码 [空格] 原因 [回车换行]
状态行举例:
例1:HTTP/1.0 200 OK
例2:HTTP/1.1 400 Bad Request
如下所示,HTTP响应的格式与请求的格式十分类似:正如你所见,在响应中唯一真正的区别在于第一行中用状态信息代替了请求信息。状态行(status line)通过提供一个状态码来说明所请求的资源情况。以下就是一个HTTP响应的
例子:
HTTP/1.1 200 OK
Date: Sat, 31 Dec 2005 23:59:59 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 122
<html>
<head>
<title>Wrox Homepage</title>
</head>
<body>
<!-- body goes here -->
</body>
</html>
分享到:
相关推荐
HTTP协议详解 HTTP协议详解HTTP协议详解HTTP协议详解HTTP协议详解HTTP协议详解.pdf小巧,清晰,全面的PDF,值得收藏
HTTP 协议详解 HTTP 协议是一种应用层面的、面向对象的协议,用于分布式超媒体信息系统。它于 1990 年提出,经过多年的发展和完善,目前在 WWW 中使用的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行中。 ...
**HTTP协议详解** HTTP(Hypertext Transfer Protocol)超文本传输协议是互联网上应用最广泛的一种网络协议。它是用于从万维网服务器传输超文本到本地浏览器的传输协议,是Web应用的基础。HTTP协议定义了客户端...
总结,张孝祥老师的HTTP协议详解课程涵盖了HTTP的基础概念、请求与响应机制、方法、状态码、头部字段等内容,对于理解和应用HTTP协议具有重要指导意义。通过深入学习,我们可以更好地理解和优化网络应用,提升用户...
### HTTP协议详解(真的很经典) #### 引言 随着互联网技术的发展,HTTP协议作为Web通信的基础,被广泛应用在分布式超媒体信息系统中。自1990年被提出以来,HTTP经历了多个版本的演变,其中HTTP/1.0是当前广泛使用...
http协议详解,http-rfc(Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。目前RFC文件是由Internet Society(ISOC)赞助发行。基本的...
这份"HTTP协议详解PDF"文档应该包含对HTTP协议的全面解析,涵盖了其核心概念、工作原理、请求与响应报文结构、状态码、首部字段等内容。 在HTTP协议中,主要有两种类型的操作:GET和POST。GET方法用于获取资源,而...
在本课程"张孝祥_HTTP协议详解第四讲"中,我们深入探讨了HTTP(超文本传输协议)这一互联网上应用最为广泛的一种网络协议。张孝祥老师,作为传智播客的一位资深讲师,以其丰富的教学经验和专业技能,为我们详细剖析...
HTTP协议详解电子书 HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它的设计目的是为了传输数据,并且使数据交换变得简单、高效。HTTP协议是基于TCP/IP通信协议来传输数据的,主要负责客户端...
**HTTP协议详解** HTTP(Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议,它是万维网(WWW)的基础,使得用户能够通过浏览器访问和交换信息。RFC2616是HTTP/1.1版本的官方规范文档,详细定义...