程序员不学HTTP协议?啊哈哈哈哈,我们介绍一下:
URL和URI
URL:全称是Uniform Resource Locator,中文是统一资源定位符,这里更强调定位,通过定位能够找到某个资源。是互联网上资源的地址,即平时所说的网址。
URI:全称是Uniform Resource Identifier,中文是统一资源标识符,可以标识唯一的资源(比如身份证号),对程序员来说主要用于标识网络资源名称(比如网址)。
两者从关系上来说URI是包含URL的
其实很好区分:无非就是前半段和后半段?
网络通信三要素
- IP:电子设备(计算机)在网络中的唯一标识。
- 端口:应用程序在计算机中的唯一标识。
- 传输协议:规定了数据传输的规则,如:
- tcp:安全协议,三次握手。 速度稍慢
- udp:不安全协议。 速度快
ip:快递寄送的地址,XX省XX市XX小区
端口:小区中具体的房间号,3号楼1单元501房间
传输协议:顺丰快递,圆通快递,中通快递、
这样理解 是不是比较啊哈哈哈 通顺多了!
HTTP协议
HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,可以传输HTML文件、图片等文件。用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式,基于TCP/IP的高级协议,特点如下:
- 默认端口号:80,在使用的时候可以省略(都有啊 省略了而已)
- 基于请求/响应模型的:一次请求对应一次响应。一问一答
- 无状态的:每次请求之间相互独立,互不影响。
请求部分
- 请求消息行大写的请求方式、请求的URI、请求协议和版本号
常见的请求方式有:
- get
- post
- put
- delete
- head
- trace
- connect
- options
- 请求消息头存放的请求参数和值,键值对的方式,参数名:参数值
- 消息正文存放请求携带的参数和值,get方式的请求是没有的
响应部分
- 响应消息行包含协议、版本号、状态码、状态描述信息
- 响应消息头存放响应参数和值,键值对的方式,参数名:参数值
- 响应正文响应形成的html内容
TTP协议常见状态码
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常