# 什么叫做http
HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议
# http之 [超文本传输协议]
是一种按照URL指示,将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。
怎讲?可以这么理解:通过一个超链接,打开一个文本,当我们打开浏览器访问百度:https://www.baidu.com,浏览器在帮你,去百度的服务器上下载一个文本(index.html)
# 什么是URL
统一资源定位符(唯一标识)
# URL组成部分
http://www.biadu.com:90/epel/1.txt
协议: http://
主机:端口 www.biadu.com:90
文件名和路径 服务器站点目录下的,目录和文件
1.用输入域名 - > 浏览器跳转 - > 浏览器缓存 - > Hosts文件 - > DNS解析(递归查询|迭代查询)
客户端向服务端发起查询 - > 递归查询
服务端向服务端发起查询 - > 迭代查询
2.由浏览器向服务器发起TCP连接(三次握手)
客户端 -->请求包连接 -syn=1 seq=x 服务端
服务端 -->响应客户端syn=1 ack=x+1 seq=y 客户端
客户端 -->建立连接 ack=y+1 seq=x+1 服务端
3.客户端发起http请求:
1)请求的方法是什么: GET获取
2)请求的Host主机是: blog.driverzeng.com
3)请求的资源是什么: /index.html
4)请求的端端口是什么: 默认http是80 https是443
5)请求携带的参数是什么: 属性(请求类型、压缩、认证、浏览器信息、等等)
6)请求最后的空行
4.服务端响应的内容是
1)服务端响应使用WEB服务软件
2)服务端响应请求文件类型
3)服务端响应请求的文件是否进行压缩
4)服务端响应请求的主机是否进行长连接
5.客户端向服务端发起TCP断开(四次挥手)
客户端 --> 断开请求 fin=1 seq=x --> 服务端
服务端 --> 响应断开 fin=1 ack=x+1 seq=y --> 客户端
服务端 --> 断开连接 fin=1 ack=x+1 seq=z --> 客户端
客户端 --> 确认断开 fin=1 ack=x+1 seq=sj --> 服务端
方法(Method) | 含义 |
---|---|
GET | 请求读取一个Web页面(下载一个页面) |
POST | 附加一个命名资(如Web页面)(上传) |
DELETE | 删除Web页面 |
CONNECT | 用于代理服务器 |
HEAD | 请求读取一个Web页面的头部 |
PUT | 请求存储一个Web页面 |
TRACE | 用于测试,要求服务器送回收到的请求 |
OPTION | 查询特定选项 |
详细状态码请参考网页TP
状态码 | 含义 |
---|---|
200 | 成功 |
301 | 永久重定向(跳转) |
302 | 临时重定向(跳转) |
304 | 本地缓存(浏览器的缓存) |
307 | 内部重定向(跳转) |
400 | 客户端错误 |
401 | 认证失败 |
403 | 找不到主页,权限不足 |
404 | 找不到页面 |
405 | 请求方法不被允许 |
500 | 内部错误(MySQL关闭等...) |
502 | bad gateway 坏了的网关(php tomcat 等服务关闭) |
503 | 服务端请求限制 |
504 | 请求超时 |
# 基本信息
请求网址:https://www.driverzeng.com/
请求方法:GET
远程地址:39.104.203.184:443
状态码:
200
版本:HTTP/1.1
Request URL: http://www.biadu.com/
Request Method: GET
Status Code: 200 OK
Remote Address: 10.0.0.7:80
Referrer Policy: no-referrer-when-downgrade
# 请求头部
## 请求的资源类型
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/\*=0.8,application/signed-exchange;v=b3
## 资源类型压缩
Accept-Encoding: gzip, deflate
## 资源类型的语言
Accept-Language: zh-CN,zh;q=0.9
## 缓存控制:服务端没有开启缓存
Cache-Control: no-cache
## 长连接
Connection: keep-alive
## 访问的主机:www.biadu.com
Host: www.biadu.com
## 项目缓存:没有开启
Pragma: no-cache
## 客户端优先加密
Upgrade-Insecure-Requests: 1
## 用户访问网站的客户端工具
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
# 响应头部
Connection: keep-alive # 建立长连接
Content-Type: text/html;charset=utf-8 # 解析方式和字符集
Date: Wed, 13 May 2020 02:29:35 GMT # 日期
server:Nginx/1.14.1 # 该网站服务器,使用的软件和版本号
status: 200 # 状态码
原文:https://www.cnblogs.com/tcy1/p/12884832.html