http协议
http协议(用HTTP定位资源,用动词来描述操作)
摘自百度百科:
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
1.URL
(链接)每一个真实有效的URL都是一个资源
URL: http:// www.longjiping.com:80 /articles/123.html
协议 域名 ,默认端口 文件及其路径
Url Html Http 之间的关系是?
一个完整的HTML页面是由N多个Url地址资源组成的,而Http协议是用来传输这种Html文件的。
2.http工作原理:
1.浏览器分析超链接中的URL
2.浏览器向DNS请求解析,域名解析结束返回浏览器
3.浏览器与服务器创建TCP连接(80端口)
4.发送请求文档:GET /index.html
5.服务器给出响应,将文档index.html发送给浏览器
6.释放TCP连接
7.浏览器显示index.html的内容
3.http请求(客户端)
客户端向服务端发送请求分为如下两种方式:
GET 获取数据, 朋友圈我只看, GET 获取别人的资源
POST 提交数据, 朋友圈我只发, POST 提交数据到服务器
DELETE 删除数据, 朋友圈清理所有历史发送过的文字图片
基本的信息
Request URL: http://10.0.0.7/ #请求的服务器地址
Request Method: GET #请求的方法 GET POST
Status Code: 200 OK #返回的状态码(三位数字组成的)
Remote Address: 10.0.0.7:80 #与服务器IP的哪个端口建立链接
Request Heads请求的头部信息
Accept: text/html #请求资源类型
Accept-Encoding: gzip, deflate #请求资源压缩
Accept-Language: zh-CN,zh;q=0.9 #请求资源语言
Cache-Control: no-cache #缓存控制-->no-cache没有缓存
Connection: keep-alive #保持链接,长链接
Host: 10.0.0.7 #请求的域名
Pragma: no-cache #请求的参数,没有缓存
Upgrade-Insecure-Requests: 1 #http和https之间起的一个过渡作用
User-Agent: Mozilla/5.0 #请求的设备
"=== 请求一个空行 ==="
4.http响应(服务端)
返回Heads
Connection: Keep-Alive #保持链接,长连接
Date: Mon, 27 May 2019 03:16:05 GMT # +8小时GMT
ETag: "a49-56b5ce607fe00" #忽略
Keep-Alive: timeout=5, max=100 #保持链接,超时时间5s,最大时间100s
Server: Apache/2.4.6 (CentOS) PHP/5.4.16 #服务器使用的WEB软件是
返回状态码 Status Code:
200 OK 页面返回正常
301 永久跳转 http->https
302 临时跳转 http->https
304 Not Modified 走本地缓存
400 Bad Request 请求报文语法错误或参数错误
401 Authorization Required 需要通过HTTP认证,或认证失败
403 Forbidden 找不到默认的主页,或没权限
404 Not Found 找不到页面
500 内部错误 程序-->mysql链接失败,或者权限
502 Bad Gateway 找不到后端的主机(出现的最多最多的)
503 服务器当前无法处理请求,但只是临时的
504 网关超时
5.http额外Heads信息
User-Agent: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息
Server:响应头包含处理请求的原始服务器的软件信息
Referer:浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中的网址/URL。
Location:WEB服务器告诉浏览器,试图访问的对象已经被移到别的位置了,到该头部指定的位置去取
6.http术语
pv 页面浏览量 最大
uv 独立客户端设备 其次
ip 独立的公网IP 最小
并发 同时访问 (10s 500pv) --> 一天能有多少pv