http协议
来源:互联网 发布:centos开启snmp 编辑:程序博客网 时间:2024/05/21 10:19
1、定义
HTTP(Hypertext Transfer Protocol)超文件传输协议,从1990年开始就在www上广泛应用,是现今WWW上应用最多的协议,目前的版本为1.1
HTTP是应用层协议,当上网浏览网页时,浏览器和服务器之间就通过HTTP在Internet上进行数据的发送和接收。
HTTP是一个基于请求/响应模式的,无状态的协议(request/response based, stateless protocol)
TCP是一个基于连接的协议,它能够提供两台计算机之间的可靠的数据流,HTTP,FTP,Telnet等应用都需要这种可靠的通信通道。
2、HTTP1.0
(1)客户发起连接
(2)客户发送请求
(3)服务器响应请求
(4)服务器关闭连接
3、HTTP1.1是持续连接(Persistent Connections)
4、URI Uniform Resource Identifier统一资源标识符
5、浏览器与服务器连接的一般过程
ServerSocket serverSocket = new ServerSocket(80);
serverSocket.accept();
www.baiud.com + 80(浏览器自动加的)-->DNS(Domain Name Service)-->115.239.210.26:80
Socket socket = new Socket("115.239.210.26", 80)
6、HTTP请求
客户端通过发送HTTP请求向服务器请求对资源的访问,HTTP请求由三部分组成,分别是:请求行,消息报头,请求正文
请求行以一个方法符号开头,后面跟着请求URI和协议的版本,以CRLF作为结尾。请求行以空格分隔。除了作为结尾的CRLF外,不允许出现单独的CR和LF字符,格式如下: - Method Request-URI HTTP-Version CRLF
Method表示请求的方未能,Request-URI是一个统一资源标识符,标识了要请求的资源,HTTP-Version表求请求的HTTP协议版本,CRLF表示回车换行。例如:
- GET /test.html HTTP/1.1(CRLF)
(1)GET方法用于获取由Request-URI所标识的资源的信息,常见形式是:- GET Request-URI HTTP/1.1
当我们通过在浏览器的地址栏中直接输入网址的方式去访问网页时,浏览器采用的就是GET方法向服务器获取资源。
(2)POST方法用于向服务器发送请求,要求服务器接受附在请求后面的数据。POST方法在表单提交的时候用得最多。
(3)HEAD方法与GET方法几乎是一样的,他们的区别在于HEAD方法只是请求消息报头,而不是完整的内容。对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源的内容,就可以得到Request-URI所标识的资源的信息,这个方法通常用于测试超链接的有效性,是否可以访问,以及最近是否有更新等。
在HTML文档中,书写get和post不区分大小写,但HTTP协议中的GET和POST只能是大写形式。
7、HTTP响应
在接收和解释请求消息后,服务器会返回一个HTTP响应信息,与HTTP请求类似,HTTP响应也是由三个部分组成:状态行,消息报头,响应正文
状态行由协议版本,数字形式的状态代码,相应的状态描述组成,各元素之间以空格分隔,除了结尾的CRLF序列外,不允许出现CR或LF字符。格式如下:
- HTTP -Version Status-Code Reason-Phrase CRLF
HTTP-Version表示服务器HTTP协议的版本,Status_code表示服务器发回的响应代码,Reason-Phrase表示状态代码的文件描述,例如:
- HTTP/1.1 200 OK(CRLF)
8、HTTP消息
HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行,消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行。
- HTTP协议
- http协议
- HTTP协议
- HTTP协议
- HTTP协议
- http协议
- HTTP协议
- HTTP协议
- HTTP协议。。。
- HTTP协议
- HTTP协议
- HTTP协议
- HTTP协议
- HTTP协议
- http协议
- HTTP协议
- http协议
- HTTP协议
- 竞争对手表示:亚马逊从云服务中攫取了巨额利润
- D - Warm up 2
- Ubuntu Trac Install
- 数据库联合主键
- Ubuntu 查看和杀死进程
- http协议
- Poj 2350 Above Average(精度控制)
- 【Java】Telnet 获取报头信息方法
- 修改文件件名
- 【Sesame】Server Installation 芝麻数据库服务器安装搭建
- CF-333D- Characteristics of Rectangles
- 秀丸
- Ubuntu的crontab定时任务
- Exchange Server 2010压力测试工具