关于URL
URL Uniform Resource Locator(统一资源定位符),URL 的基本格式 = 协议://主机地址/路径,如 http://108.09.09/image/abc.gif
URL常见的协议
- http:// :超文本传输协议,访问远程的资源路径
- file:// :本地的资源(不用加主机地址)
- moilto: :访问的是电子邮件的地址
- FTP:// :访问的是共享主机的文件资源
HTTP
1.HTTP 协议的作用
规定客户端和服务器之间的数据传输格式
让客户端和服务器能有效地进行数据沟通
2.HTTP 协议的特点
1.简单快速
2.http允许传输各种各样的数据
3.http非持续连接: 限制每次只处理一个请求,服务器对客户端的请求做出响应后,马上断开连接,这种方式可以节省传输的时间
3.HTTP通信过程
请求:客户端向服务器索要数据
响应:服务器返回客户端相应的数据
请求方法 GET POST
在HTTP/1.1协议中,定义了8种发送http请求的方法
GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT、PATCH根据HTTP协议的设计初衷,不同的方法对资源有不同的操作方式
PUT :增
DELETE :删
POST :改
GET :查
- 最常用的是GET和POST(实际上GET和POST都能办到增删改查)
- get post 对比
- GET和POST的主要区别表现在数据传递上
GET:在请求URL后面以?的形式跟上发给服务器的参数,多个参数之间用&隔开,比如http://ww.test.com/login?username=123&pwd=234&type=JSON由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB- POST
发给服务器的参数全部放在请求体中
理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力)
- get 和 post 的选择
如果要传递大量数据,比如文件上传,只能用POST请求
GET的安全性比POST要差些,如果包含机密\敏感信息,建议用POST
如果仅仅是索取数据(数据查询),建议使用GET
如果是增加、修改、删除数据,建议使用POST
Http通信方式
Http常见状态码
-
1xx
(Informational) 信息性状态码,表示正在处理。 -
2xx
(Success) 成功状态码,表示请求正常。
200 ok 请求被成功处理。
204 No Content 该状态码表示服务器接收到的请求已经处理完毕,但是服务器不需要返回响应体。
206 Partial Content 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。
-
3xx
(Redirection) 重定向状态码,表示客户端需要进行附加操作。
301 Moved Permanently 永久性重定向。
302 Found 临时性重定向。
-
4xx
(Client Error) 客户端错误状态码,表示服务器无法处理请求。
400 Bad Request 指出客户端请求中的语法错误。
401 Unauthorized 该状态码表示发送的请求需要有认证。
403 Forbidden 该状态码表明对请求资源的访问被服务器拒绝了。
404 Not Found 该状态码表明服务器上无法找到指定的资源。
-
5xx
(Server Error) 服务器错误状态码,表示服务器处理请求出错。
500 Internal Server Error 该状态码表明服务器端在执行请求时发生了错误。
502 Bad Gateway 该状态码表明服务器网关错误。
503 Service Unavailable 该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。