HTTP协议初步
来源:互联网 发布:网络扫描工具有哪些 编辑:程序博客网 时间:2024/05/16 09:21
1、
简介
HTTP(HyperText Transfer Protocol),中文名称为超文本传输协议,工作在OSI七层体系中的应用层,属于高层应用协议。
HTTP协议主要用在浏览器和Web服务器之间进行通信。
HTTP协议使用明文进行传输,如果需要加密传输,可以使用https(注:j2me暂时不支持)。
HTTP协议在发送时有很多发送的方式,介绍如下
2、
HTTP协议版本
HTTP协议有3个版本,依次是0.9、1.0、1.1。当前最新版本是1.1,但是1.0受到普遍
支持。
3、
发送方法
HTTP协议在发送时可以根据传输数据的方式不同分为多种方法,其中HTTP0.9支持
get、post两种方法,HTTP1.0支持7种方法,HTTP1.1支持的方法更多。
常用的方法有get和post。
Get方法和post方法的区别是传送数据时,数据所放置的位置不同。Get方法把参数放置在协议内部的请求行中。而post方法将提交的参数放置在实体数据部分中。
更加详细的信息可以参考:http://dev.csdn.net/article/10/10865.shtm
4、
协议格式
HTTP协议是使用明文进行传输,协议主要分为三个部分:
a)
请求行/响应行:该部分只有一行,包含三个部分:请求方法 请求资源 使用的HTTP协议的版本。例如:
get /index.html http/1.1
其中get为请求方法,/index.html是请求的资源,http/1.1是指客户端支持的HTTP协议的版本。
b)
头信息:头信息部分主要传输服务器或者客户端的一些设定信息,可以有任意多个,传输时使用“名称:值”的形式,例如:
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
其中HTTP协议里面规定了40多个头信息名称的用途,你也可以根据需要,自己来进行定义。
头信息结束时需要一个空行和实体数据部分分开。
c)
实体数据:实体数据在请求时,如果以post方式提交时存储参数,以get方式请求时为空。在响应时,存储服务器端反馈的HTML源代码的数据。
附加:
GET /cgi-bin/tech/method.cgi?GET=GET HTTP/1.1 这个请求是我们通过这个HTML代码发出的: <form action="http://localhost:8080/cgi-bin/tech/method.cgi" method="GET"> 这个请求已经超出了我们研究的范围,我们只研究其中的第一行。其中,第一个"GET"说出了提交的方式,是以GET方式提交的;中间的就是提交给服务器上哪个程序,前面一部分"/cgi-bin/tech/method.cgi"就是我们HTML的form中action的内容,而后面的"GET=GET"就是HTML的form中,input的内容:我们发现IE已经把这个表单的内容转换成特定格式了。在Perl中,通过$GET=$ENV{'QUERY_STRING'}获得以GET发送的数据。 我们再看一个以POST方式提交的表单的请求: POST /cgi-bin/tech/method.cgi HTTP/1.1 POST=POST 同样给出HTML: <form action="http://localhost:8080/cgi-bin/tech/method.cgi" method="POST">
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://localhost//other.html
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost:8080
Connection: Keep-Alive
<input type="text" size="10" value="GET" name="GET">
<input type=submit value="GET方式">
</form>
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-
powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://localhost//other.html
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Host: localhost:8080
Content-Length: 9
Connection: Keep-Alive
<input type="text" size="10" value="POST" name="POST">
<input type=submit value="POST方式">
</form>
- HTTP协议初步
- HTTP协议初步
- Http协议初步讲解
- 初步学习http协议
- HTTP协议的初步了解
- Java.Web - Http协议初步接触
- Python模拟http协议初步学习(001)
- Python模拟http协议初步学习(002)
- 《图解HTTP》初步认识和HTTP协议结构详解
- J2ME学习(二)——HTTP协议初步
- Python 爬虫入门(二) HTTP协议初步
- Http初步
- HTTP初步
- Java处理http协议相关初步(一)——httpclient
- Java处理http协议相关初步(二)——httpserver
- Java处理http协议相关初步(三)——线程池的使用分析
- 尚学堂马士兵servlet/JSP笔记(一、Http协议及WebApp初步)
- 尚学堂马士兵servlet/JSP笔记(一、Http协议及WebApp初步)
- ubuntu之tftp
- IOS开源项目汇总
- HttpClient 超时 用法
- SQL Server 2005 四个排名函数(row_number、rank、dense_rank和ntile)的比较
- Java/JSP中使用JDBC连接SQL Server 2005
- HTTP协议初步
- c语言输入输出缓冲区的概念
- 国内首款群件系统Fnotes 1800免费版共享
- bitnami redmine how to
- 百度MP3音乐API接口及应用
- hibernate 使用 sql 查询
- Oracle存储过程
- 创建和测试number range过程
- MeeGo下mp3/视频解码和VLC安装