标签:
超文本传输协议http:
http是一个客户端和服务器端请求和应答的标准。客户端是终端用户,服务器是网站,通过http或者https协议请求的资源由统一资源标示符来标识。
GET方法取回由Request-UR标志的信息,HEAD方法也是取回由Request-URL标识的信息,只是在响应时,不返回消息体。POST方法可以请求服务器接受包含在请求中的实体信息,可以用于提交表单,向新闻组和数据库发送消息。
一、
URL:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎样去处理它。
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”,完整的、带有授权部分的普通统一资源标识符语法如下:
协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
第一部分:协议/模式:他告诉浏览器如何处理将要打开的文件,常用http
第二部分:文件所在的服务器的名称或ip地址,后面是到达这个文件的路径和文件本身的名称,服务器的名称或IP地址后面有时还跟一个冒号和一个端口号。它也可以包含接触服务器必须的用户名称和密码。路径部分包含等级结构的路径定义,一般来说不同部分之间以斜线(/)分隔。询问部分一般用来传送对服务器上的数据库进行动态询问时所需要的参数。
有时候,URL以斜杠“/”结尾,而没有给出文件名,在这种情况下,URL引用路径中最后一个目录中的默认文件(通常对应于主页),这个文件常常被称为 index.html 或 default.htm。
二、
http请求报文和http响应报文
http请求报文由请求行、请求头部、空行和请求数据4部分组成
or
<request-line>
<headers>
<blank line>
[<request-body>
1.请求行:如GET/index.html HTTP/1.1
2.请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号分隔
3.空行,发送回车符和换行符,通知服务器一下不再有请求头
4.请求数据在post方法中使用,与请求数据相关的最长使用的请求头是Content-Type和Content-Length
三、
http中GET和POST的区别:
1.get一般用于获取、查询资源信息,post一般用于更新资源信息
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头<request-line>中),以?分割URL和传输数据,参数之间以&相连,如login.action?name=hyddd&password=idotknow&vertify=%E4%BD%Ao%E5%BD,如果数据是英文字母/数字,原样发送;如果是空格,转换为+;如果是中文/其他字符,则直接把字符串用BASE64加密,其中%xx表示16进制下的ASCII
post把提交的数据放置在HTTP包的包体<request-body>中
get提交的数据会在地址栏中显示出来,而post提交,地址栏不会改变
2.传输数据的大小:
HTTP协议没有对传输的数据的大小进行限制,HTTP协议规范也没有对URL长度进行限制,而在实际开发中存在的限制主要有:
GET:特定浏览器和服务器对URL长度有限制
POST:由于不是通过URL船只,理论上数据不受限。
3.安全性:
POST的安全性要比GET的安全性高,通过GET提交数据,用户名和密码讲明文献是在URL上,因为(1)登陆页面有可能被浏览器缓存,(2)其他人查看浏览器的历史记录即可得到密码
四、网址结构
网址有两个或两个以上的词构成,中间由点号分开,最右边为顶级域名,如.com(表示工商企业),.net(网络提供商)
标签:
原文地址:http://www.cnblogs.com/chhom/p/4737180.html