HTTP相关知识
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
URI(网址)包含URL和URN
URL [Uniform Resource Locator]可以确定一个「唯一的」地址(网址)【统一资源定位符】
可以确定一个「唯一的」资源
HTTP [Hypertext Transfer Protocol]两个电脑之间传输内容的协议
HTML [HyperText Markup Language]超级文本,主要用来做页面跳转
URL 的作用是能让你访问一个页面,HTTP 的作用是让你能下载这个页面,HTML 的作用是让你能看懂这个页面
URL包含【协议、域名、路径、查询参数、锚点、端口】
DNS [DomainNameSystem] 域名系统 它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网
输入域名【nslookup baidu.com /ping baidu.com】
输出 IP 【(输出指定IP)window 设置hosts】
HTTP协议(HTTP 的作用就是指导浏览器和服务器如何进行沟通)
请求响应
浏览器负责发起请求
服务器在 80 端口接收请求
服务器负责返回内容(响应)
浏览器负责下载响应内容
server(服务器【一台电脑】软件server)+client(客户端【一台电脑】浏览器)+HTTP
serve人软件,不同的端口只做一件事情,都是指定的
端口(0-2048)
21 FTP端口
443 ftps端口
1080 代理端口
3306 mysequer
80 http协议
get请求【获取内容】 post请求【上传内容】
1.HTTP请求
请求的格式
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 要上传的数据
请求最多包含四部分,最少包含三部分。(也就是说第四部分可以为空)
第三部分永远都是一个回车(\n)
动词有 GET POST PUT PATCH DELETE HEAD OPTIONS 等
GET 请求指定的页面信息,并返回实体主体。
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。(完全更新)
PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。(局部更新)
DELETE 请求服务器删除指定的页面。
HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
OPTIONS 允许客户端查看服务器的性能。
这里的路径包括「查询参数」,但不包括「锚点」
如果你没有写路径,那么路径默认为 /
第 2 部分中的 Content-Type 标注了第 4 部分的格式
用 Chrome 发请求
打开 Network
地址栏输入网址
在 Network 点击,查看 request,点击「view source」
点击「view source」
如果有请求的第四部分,那么在 FormData 或 Payload 里面可以看到
2.http响应
响应的格式
1 协议 / 版本号 状态码 状态解释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
状态码
1xx 不常用
2xx 表示成功
3xx 表示滚吧
4xx 表示你丫错了
5xx 表示好吧,我错了
状态解释没什么用
第 2 部分中的 Content-Type 标注了第 4 部分的格式
第 2 部分中的 Content-Type 遵循 MIME 规范
参考网站https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
200
成功
301 Moved Permanently
被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一
302 Found
要求客户端执行临时重定向(原始描述短语为“Moved Temporarily”)。[20]由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
400 Bad Request
由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
404 Not Found
502 Bad Gateway
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
用 Chrome 查看响应
打开 Network
输入网址
选中第一个响应
查看 Response Headers,点击「view source」,点击「view source」,点击「view source」
你会看到响应的前两部分
查看 Response 或者 Preview,你会看到响应的第 4 部分
3.使用 curl 命令
cURL是一个利用URL语法在命令行下工作的文件传输工具
curl -s -v – “https://www.baidu.com”
- HTTP网络连接相关知识整理(一):http连接与Socket连接
- HTTP网络连接相关知识整理(二):网络IO
- 转:利用HTTP_X_FORWARDED_FOR获取客户端IP(http代理的相关知识)
- HTTP相关知识 - 1
- 关于IHttpModule的相关知识总结
- 计算机网络:HTTP相关知识
- 你不知道的HttpHandler相关知识
- http的相关的知识总结
- 利用HTTP_X_FORWARDED_FOR获取客户端IP(http代理的相关知识)
- 【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...
- Apache(HTTP)服务相关知识总结(一)
- Http协议相关知识
- Java Web开发中用到的Http协议相关知识
- http协议的相关知识
- 前端开发者必须知道的http协议相关知识
- http相关知识 - (1)http请求过程及http状态码
- HTTP协议相关知识
- Request.ServerVariables完整参考,http代理相关知识
- HTTP相关知识总结
- asp.net 中http协议及相关知识(零碎知识记录)