请求&响应
客户端发请求 服务器响应
一、HTTP 请求包括哪些部分
- 命令行命令:
curl -s -v -H "xxxxxxxxxx" -- "https://www.xxx.com"
curl -X POST -d "1234567890" -s -v -H "xxxxxxxxxx" -- "https://www.xxx.com"
1.动词 路径 协议/版本 (GET / http/1.1)
2.Key1: value1
2.Key2: value2
2.Key3: value3
2.Content-Type: application/x-www-form-urlencoded
2.Host: www.baidu.com
2.User-Agent: curl/7.54.0
3.(回车)
4.要上传的数据
二、HTTP 响应包括哪些部分
1.协议/版本号 状态码 状态解释
2.Key1: value1
2.Key2: value2
2.Content-Length: 17931
2.Content-Type: text/html
3.(回车)
4.要下载的内容
三、如何用Chrome开发者工具查看 HTTP 响应内容
在Chrome中,右键点击检查
1.打开 Network
2.输入网址
3.选中第一个响应
4.查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
5.你会看到响应的前两部分
6.查看 Response 或者 Preview,你会看到响应的第 4 部分
四、从URL输入到页面输出
过程
首先在客户端输入URL(http报文)
发到监听:80端口
的服务器上,服务器匹配path
,来决定响应哪一部分的文件返还到客户端
客户端向服务器有几个命令
GET
要
POST
给
PUT
更新全面数据
PATCH
更新局部数据
HEAD
要(部分)(报文首部)
DELETE
删除客户端向服务器发请求的之前,首先三步握手建立
TCP链接
,之后进行http报文的请求,服务器进行响应。最后经过四步挥手,断开TCP链接
。持续连接
就是在建立TCP连接
之后,进行多次的请求和响应(管线化)
五、完整流程是什么
服务器端
- 首先有一台
远程机器的IP
- 然后搭建
web server
服务器默认监听:80
端口 - 将
URL匹配path
,告诉服务器要响应什么内容 - 最后由浏览器决定展现出来的样式
URL
URL是
统一资源定位符
,定位网络上的资源http协议(定位网上协议)
file协议(定位本地协议)-
域名解析
通过找到域名的ip地址来获取信息- 在浏览器缓存查找
- 在系统缓存查找
- 在路由器缓存查找
- ispdns缓存查找(运营商)
DNS劫持就是在这一步
还是有很多细节不太懂,希望以后回头看的时候再继续修改。