- 什么是http协议?
http,超文本传输协议是现在互联网应用最为广泛的协议,所有的www文件都必须遵循这个标准设计这个最初的目的是为了发布和接收HTML文件。http就是web通信的基础,就是为了能够让文档之间互相关联可以进行互相传阅。http协议在应用层。
- http协议的组成
HTTP协议由HTTP请求和相应组成,当在浏览器输入网址进行访问的时候,你的浏览器将你的请求封装成一个HTTP请求发送到服务器,站点服务器接收到请求后会组织相应数据封装成一个HTTP响应返回给浏览器,当然,没有请求的时候也不会有响应。
- http请求
http请求是给服务器看的,,分为请求头和请求行,请求体。请求头包含:请求方式(post/get),请求的资源路径,和当前http版本;请求行中又有许多信息,内容以键值对的格式显示(key : value ),请求体中含有静态资源及网页所提交的参数,提交到服务器端。
http 1.0:发送请求,创建一次连接,获得一个web资源,连接断开。
http 1.1:发送请求,创建一次连接,获得多个web资源,保持连接。(持久连接,一次连接可以处理多个请求)“管线化”发送请求:在一次连接中,不需要等待服务器响应请求,就可以连续发送第二次请求。
请求头的几个要点:
Referer: 浏览器告知服务器当前请求来自何处,如果直接访问则不会有这个头,常用于防盗链。
Cookie: 与会话有关的技术用来存储浏览器缓存的cookie信息。http是无状态的,他可是不对通信状态进行保存的,他并不知道之前通信的对方是谁,这样的设计是为了让http简单化,能够快速地处理大量的事物。但是我们经常需要知道访问的是谁,所以cookie就有了,要是服务器想要记住客户端的名字就颁发一个cookie给他,客户端把cookie保存到硬盘上,当下次访问,浏览器会把客户端和所带的cookie信息一起递给服务器,这时,服务器就知道这个家伙是谁了。
Host:服务器主机名,User-Agent:浏览器通知服务器客户端浏览器与操作系统相关信息。
- http响应
响应行:协议版本 状态码 状态描述信息 ;例如:HTTP /1.1 200 OK
响应头:也是键值对(key:value)其中有文本类型,最后一次修改时间,日期,server(服务器);
*常见的状态码:200 正常处理 ;204 成功处理但显示页面不更新;206 对服务器进行范围请求,只返回一部分数据 302 :重定向 ;304:拿本地缓存;400:语法错误 401:需要身份认证403:没有权限访问 404:没有找到该资源;500:服务器内部资源错误。503:服务器正忙。
响应体:这个就是我们常见的HTML代码当我们在客户发送请求时会得到服务器的一个响应,相应的内容就有可能是一个页面或servlet数据(页面要显示的正文)。
- http和HTTPS的区别?
- HTTP的URL以 http:// 开头,而HTTPS的URL以https:// 开头
- Http是不安全的,HTTPS是安全的
- http标准端口是80,而https的标准端口是443
- 在osi网络模式中,http工作与应用层,https的安全传输机制工作与传输层
- http无法加密,而https对数据的传输可以加密
- http无需证书,但https需要ca机构颁发的SSL证书
- URI和URL的区别:
URI统一资源标识符,用来唯一标识一个资源。
URI有三部分组成:1,访问资源的命名机制2,存放资源的主机名,3,资源本身的名称,有路径表示,着重强调资源。
URL统一资源定位符,是一种具体的URI,他不仅可以表示这个资源还可以找到他所在的具体位置。URL是互联网上用来详细描述信息资源的字符串,主要作用于各种www客户端,服务器
URL也由三部分组成。
1.协议(服务方式)
2. 存有资源的主机地址有时还有端口号
3. 主机资源的具体地址,例如在哪个目录下或文件等