HTTP协议是什么?有什么作用?

HTTP协议(Hyper Text Transfer Protocol,HTTP,全称为“超文本传输协议”)是客户端浏览器或者是其他的程序和Web服务器之间的应用层通信协议。它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

  • HTTP 协议用于客户端和服务器端之间的通信

  • http协议是一种用来从WWW服务器传输超文本到本地浏览器的传送协议。

  • http协议能够使得浏览器更加的高效,使得网络传输减少。

  • http协议可以保证计算机正确快速的传输超文本文档,除此之外,还能够确定传输文档当中的哪一部分,以及哪部分内容首先显示等等。

Web 页面当然不能凭空显示出来。根据 Web 浏览器地址栏中指定的URL,Web 浏览器从 Web服务器端获取文件资源(resource)等信息,从而显示出 Web 页面。

像这种通过发送请求获取服务器资源的 Web 浏览器等,都可称为客户端(client)。

当我们访问一个网站的时候,可能涉及不止一次HTTP请求/响应的交互过程。

Q:http在osi七层模型中的哪一层? http在osi七层模型中的那一层除了http协议还有哪些协议?

A:http协议是属于osi七层模型中的应用层通信协议;应用层除了有http协议还有DNS协议(域名系统)、FTP协议(文件传输)、SMTP协议(电子邮件)Telnet协议(远程登录系统)、POP3协议(邮件读取协议)等

https和http的区别

  1. HTTP的连接很简单,明文传输,通过80端口连接

  1. HTTPS是由SSL+HTTP构建的可进行身份认证、加密传输的协议,相对更安全,通过443端口连接。

  1. HTTPS需要到证书颁发机构申请证书(SSL的专业证书需要购买,功能越是强大的证书费用越高。)

http报文分类

HTTP报文格式有两种类型,分别为请求报文和响应报文。请求报文是客户端发送给服务器端的,而响应报文是服务器端发送给客户端的。

请求报文

user-agent:该代理类型的对象版本

connection:Close 不使用持久连接

Accept-language:zh-cn 中文版本

请求报文的几种类型:

  1. GET:客户端向服务器端请求资源,(获得指定URL的数据)

  1. POST:把客户端的信息传送给服务器端(请求服务器接收URI指定文档作为可执行的信息)

  1. HEAD:服务器收到请求时,用HTTP报文进行响应,但不返回请求对象,主要用在通信的控制操作领域(仅获取文档首部)

  1. PUT:文件在实体主体中被上载到URL字段指定的路径(请求服务器保存客户端传送的数据到URI指定文档)

  1. DELETE:请求服务器删除URI指定页面

  1. TRACE:请求消息返回客户端

Get和Post的请求方法的区别

  1. get请求一般常见是获取数据(也可以提交);post一般则是提交数据

  1. get请求可以被缓存,但post请求则不会被缓存

  1. get请求在浏览器刷新或者回退的时候是无害的;post的话数据会被重新提交

  1. get请求只能进行URL编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)

  1. get请求会被保存在浏览器历史记录中也可以被收藏为标签,因为参数就在URL中;但post都不行

  1. get因为放在URL参数中,所有隐私性,安全性较差,请求的数据长度也是有限制的,不同浏览器和服务器不同,一般长度是在2-8k之间,也常见的是1k以内;但post请求没有数据长度限制,因为post通过request body传递参数,请求数据则是放在body中。

  1. get和post都是http请求方式, 底层都是 tcp/IP协议;通常get 产生一个 tcp 数据包;post产生两个 tcp 数据包(但firefox是发送一个数据包);也就是说对于get方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于post,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 OK(返回数据)。

响应报文

响应报文的结构:

  1. 状态行:版本、状态编码、短语

  1. 响应头主体:

  • 服务器类型或者是Web服务器版本

  • data就是时间

  • 类型

  • 不使用持久连接

  • 长度

  1. 回车换行

  1. 响应体(真正的数据)

响应报文的状态码

状态码是非常有用的一种参数,它向客户端传递了响应刚才HTTP请求报文的一些控制信息。

常见的状态码:
200-OK-服务器成功返回网页
404-Not Found-请求的网页不存在
503-Service Unavailable-服务器出错的返回状态
100-继续-请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
101-切换协议-请求者已要求服务器切换协议,服务器已确认并准备切换
2xx 肯定应答
3xx 重定向请求
301-永久移动-针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择
302- 重定向-例如访问百度 结果跳转去京东
4xx 客户端请求内容出现错误
400-错误请求-服务器不理解请求的语法
403-禁止-服务器拒绝请求

什么是URL,URL由什么组成?

URL定义

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。URL正是使用 Web 浏览器等

访问 Web 页面时需要输入的网页地址

简单来说就是打开浏览器,地址栏上显示的网址,例如:

URL组成

一个完整的URL的组成由于:通信协议(scheme)主机(host)端口号(port)路径(path)、查询(query)信息片段(fragment)组成。

  1. scheme:通讯协议常用的通信协议http、ftp等

  1. host:主机、服务器(计算机)域名系统(DNS),主机名或IP地址

  1. port:端口号,整数,可选,省略时是默认端口,如http的默认端口是80

  1. path:路径,由零或多个‘/’隔开的字符串,一般用来表示主机上的一个目录或者文件地址

  1. query:查询,可选,用于给动态网页传递参数,可有多个参数,用‘&’号隔开,每个参数的名和值用‘=’号隔开。如:name=xzc

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值