超文本传输协议Http

服务器与浏览器如何对话HTTP:超文本传输协议
URL:统一资源定位符,通过URL能够找到互联网上唯一的一个资源
http://www.baidu.com URL基本格式:协议://主机地址/资源路径
协议:不同的协议代表着不同的资源查找方式,资源的传输方式
主机地址:存放资源的主机的IP地址(域名)
资源路径:资源在主机中的具体位置

URL中常见的几种协议:
1.http:网络开发中最常见的协议
2.file:访问本机计算机上的资源
3.mailto:访问的是电子邮件
4.ftp:访问的是共享的资源文件

http协议:
1.http协议是一个不对等协议,通信的双方不再同一个层次上,一端发起请求, 一端做出响应,发起请求端只能发请求,响应端只能做出响应,两者不能交换,这是不平等的
2.http协议是一个无状态协议,本次请求和上次请求没有任何关系.比如:人与人对话有上下文关系;网银登录:今天登录后,明天还要登录

作用:
1.规定了客户端和服务器之间的数据传输格式
2.让客户端和服务器能够进行有效的数据沟通

http的优势
1.简单快速
2.灵活 http允许传输任意类型的数据
3.1.1版本之前非持续性连接,限制每次连接只处理一个请求,服务器对客户端做出响应之后,马上断开连接

http通信过程
http请求:客户端向服务器索取数据
请求行:包含请求方法,请求资源的路径,http协议版本
请求头:包含对客户端的环境描述,客户端请求的主机地址等信息
请求体:客户端发给服务器的具体数据

http响应:服务器返回数据给客户端
响应行:http协议版本,状态码,状态码的英文名称
响应头:包含了对服务器的一些描述,对返回数据的描述
响应体:服务器返回给客户端的具体数据

常见状态码
200 OK 客户端请求成功
400 Bad Request 客户端请求有语法错误,不能被服务器所理解
401 Unauthorized 请求未授权,需要用户名和密码
403 Forbidden 服务器收到请求,但是拒绝提供服务
404 Not Found 请求的资源不存在 比如:输入错误的URL
500 Internal Server Error 服务器内部发生不可预知的错误,无法完成请求

http发送请求的方法
请求方法有多种(所有的方法名大写):
GET 请求获取URL所标识的资源
POST 在UTL所标识的资源后附加新的数据

OPTIONS HEAD PUT DELETE TRACE CONNECT

最常用的请求方法: GET 和 POST

参数:就是传递给服务器的具体数据
比如:登录的时候需要向服务器传递用户名和密码
username=Tom
password=123456

1.GET: 在请求的URL后面以 ? 形式传递参数,多个参数之间用 & 隔开
比如:?username=Tom&password=123
http://www.baidu.com/login?username=Tom&paspassword=123456
https://www.baidu.com/s? wd=HEAD&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YznyRvryDznHw-PjDvPWbd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHDLrHfzPWm4

浏览器和服务器对URL的长度有限制,因此后面所跟的参数长度就有限制,一般不超过1KB

POST: 发给服务器的参数全部放在请求体中
理论上讲,POST在传递数据的上限没有限制(看服务器的处理能力)

关于GET和POST的选择
1.如果传递大量数据、文件,只能使用POST
2.GET比POST安全性差,如果包含敏感机密信息,建议POST
3.如果仅仅是获取数据,建议使用GET
4.如果客户端跟服务器有很多的数据操作,最好使用POST

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值