⑴ HTTP请求里包括些什么内容HTTP响应里包括些什么内容
内容优点多。
暑假做协议分析的时候研究了一下。。
HTTP协议是我们网络中必不可少的重要协议。那么下面我们就来对这方面的问题进行一下深入讲解。那么我们就针对GET方法实现HTTP协议的具体操作进行一下分析。HTTP协议用于在Internet上发送和接收消息?HTTP协议是一种请求-应答式的协议??客户端发送一个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包?HTTP协议使用可靠的TCP连接,默认端口是80?HTTP的第一个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1?HTTP/1.1由RFC 2616 定义?
在HTTP中,Client/Server之间的会话总是由客户端通过建立连接和发送HTTP请求包初始化,服务器不会主动联系客户端或要求与客户端建立连接?浏览器和服务器都可以随时中断连接,例如,在浏览网页时你可以随时点击“停止"按钮中断当前的文件下载过程,关闭与Web服务器的HTTP连接?
1 HTTP请求包
HTTP请求包(GET?POST等请求方法)由三个部分构成,分别是:方法-URI-协议/版本,请求头,请求正文?下面是一个HTTP协议请求包(GET)的例子:
1.GET /index.jsp HTTP/1.1
2.Accept-Language: zh-cn
3.Connection: Keep-Alive
4.Host: 192.168.0.106
5.Content-Length: 37
6.userName=new_andy&password=new_andy
请求包的第一行是方法-URI-协议/版本:
GET就是请求方法,根据HTTP标准,HTTP协议请求可以使用多种请求方法?HTTP 1.1支持七种请求方法:GET?POST?HEAD?OPTIONS?PUT?DELETE和TRACE等,常用的为请求方法是GET和POST?
/index.jsp表示URI?URI指定了要访问的网络资源?HTTP/1.1是协议和协议的版本?
最后一行userName=new_andy&password=new_andy为正文,正文与HTTP头部有一个空行(rn)分隔?这里需要说明的一点,其中Content-Length说明正文的长度,有的正文长度没有在头部说明,只是标明Transfer-Encoding: chunked?关于chunked类型的长度计算方法,见RFC 1626?
请求包的头部还会包含许多有关客户端环境和请求正文的有用信息,这里不再描述?
2 HTTP协议应答包
和HTTP请求包相似,由三个部分构成,分别是:协议-状态代码-描述,应答头,应答正文?下面是一个HTTP应答的例子:
1.HTTP/1.1 200 OK
2.Server: Microsoft-IIS/4.0
3.Date: Mon, 3 Jan 2005 13:13:33 GMT
4.Content-Type: text/html
5.Last-Modified: Mon, 11 Jan 2004 13:23:42 GMT
6.Content-Length: 90
7.<html>
8.<head>
9.<title>解读HTTP包示例</title></head><body>
10.Hello WORLD!
11.</body>
12.</html>
HTTP应答包的第一行类似于HTTP协议请求的第一行,表示所用的协议是HTTP 1.1,服务器处理请求的状态码200?
应答头也和请求头一样包含许多有用的信息,例如服务器类型?日期时间?内容类型和长度等?应答的正文就是服务器返回的HTML页面?应答头和正文之间也用CRLF分隔?
⑵ HTTP请求/响应分别包含哪些部分
你用Telnet命令试一下就知道
比如有个网页http://www..com
你这样使用Telnet命令:
telnet www..com 80
连接后输入GET / (这就是你的HTTP请求)
然后就看到响应了,先是一个HTTP响应头,说明返回内容的长度、属性、编码形式,最后是内容,非常标准的一个TCP协议
具体你搜一下http 1.1协议指南
⑶ http请求的三大组成部分:请求行、请求头和请求体分别包含哪些内容
http请求信息由请求方法、请求头和请求文本三部分组成。
第一,BasicAuth
这是一种不安全的用户验证方法,通常受到用户授权的限制。用户名密码(明文)将被添加到headers的Autheration字段中。如果验证失败,请求将失败。现在这种认证方法正在被淘汰。
第二、Referer
链接的来源通常在访问链接时带有Refer字段,服务器验证来源,后台通常使用该字段作为防盗链的依据。
第三、User-Agent
后台通常通过这个字段来判断用户设备的类型、系统和浏览器的版本。一些编程语言包中的网络请求可以定制User-Agent,并且可以在爬虫中设置为浏览器的ua
第四,Cookie
一般而言,在用户登录或某些操作之后,服务器端会在返回包中包含Cookie信息,要求浏览器设置Cookie,没有Cookie很容易被识别为伪造请求;还有本地通过JS,根据服务器端返回的某一信息处理生成的加密信息,设置在Cookie中
第五,JavaScript加密操作
在传输敏感数据时,通常通过javascript加密。例如,qq空间将RSA加密用户登录密码,然后发送到服务器。因此,爬虫需要在模拟登录时要求公钥并加密。
第六,定制字段
由于http的headers可以定制地段,因此第三方可能会添加一些定制的字段名或字段值,这也是需要注意的。
⑷ http请求头信息包含哪些字段举例说明
很多,网上搜索更方便,学会自已找网络资料
⑸ http协议包含哪几个部分
HTTP 协议定义服务器端和客户端之间文件传输的沟通方式。目前HTTP协议的版本是Http1.1。RFC 2616描述了HTTP协议的具体信息。
这个协议已经成为浏览器和Web站点之间的标准。
当我上网的时候底层是如何进行交互的?
当访问者点击一个超链接的时候,将会给浏览器提交一个URL地址。通过这个URL地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张图片,一个pdf文件)。
HTTP工作的基础就是,连接一个服务器并开始传输文件到浏览器。
HTTP传输的基本过程
在http传输的过程中,被称为客户端的请求者向服务器请求一个文件。
最基本的过程是:
1 客户端连接一个主机;
2 服务器接收连接,
3 客户端请求一个文件,
4 服务器发送一个应答.
⑹ HTTP请求方法有哪些
HTTP请求的方法:
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
⑺ http协议包括哪些内容
http协议 包含 http协议的请求和http协议的响应。
http协议的请求 又包含如下内容
:
1,请求方法-URL-协议/版本
2,请求头
3,请求正文
http响应的请求 又包含如下内容
:
1,状态行
2,响应头
3,响应正文
在接受和解释请求的消息之后,服务器会返回一个http的响应消息
状态行由协议版本,数字形式的状态码以及相应的状态描述 各个元素之间以空格分开