1. HTTP(HyperText Transfer Protocol)
http是超文本传输协议,它教客户端如何请求、服务器如何响应。
2. 状态码(背下来)
是服务器对浏览器说的话:
200 通常的成功 OK
204 成功处理请求,但不会刷新页面
表示服务器接收到的请求已经处理完毕,但浏览器页面不会刷新
301 永久重定向 Moved Permanently
请求的网页已永久移动到新位置,永久性重定向
302 Found
HTTP/1.0就有的,临时性重定向,POST方法的重定向在未询问用户的情况下就会变成GET
303 和 307
这两个是HTTP/1.1新加的,都是临时重定向,303和302一样,POST重定向为GET。
307不同的是,把POST转为GET的。
304 Not Modified
表示自从上次请求后,网页未被修改过
400 Bad Request
客户端中存在语法错误。
401 Unauthorized
用户未授权,需要用户验证。
403 Forbidden
服务器已经理解请求,但拒绝执行
404 Not Found
服务器找不到请求的网页。
500 Internal Server Error
服务器遇到错误,无法完成请求。
503 Service Unavailable
由于临时的服务器维护或者过载,暂时无法处理请求
背下来
3. 请求的格式(背下来)
-
GET请求
GET / HTTP/1.1
Host: baidu.com
Accept: text/html
(断行) -
POST请求
POST /login HTTP/1.1
Host: baidu.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Content-Length: ...username=pyz&password=123(第四部分服务器返回的是字符串)
请求里的路径只是路径而已,跟文件没有关系,文件格式只和Accept里写的有关系!!
4.响应的格式
-
GET的响应
HTTP/1.1 200 OK
Content-Length: ...
Content-Type: text/html或application/x-JavaScript; charset=utf-8
(断行) => 这是第三部分
<!DOCTYPE html>
<html>...</html>(第四部分服务器返回的是字符串) -
POST
若密码错了
HTTP/1.1 401 Unauthorized(若成功了就是200 OK)
Content-Type: application/json
Content-Length: ...{''error"}
5. 如何查看响应和请求
- 打开Network
- 刷新网址
- 选中第一个响应
- 查看Headers里的Response Headers点view source可以看到响应的前两部分,Request Headers点view source可以看到请求
- 查看Response你可以看到响应的第四部分
6. DNS(Domain Name System)
DNS即是通过域名找IP地址
有两个命令:
nslookup www.baidu.com
ping www.baidu.com
输入这两个命令都会返回baidu的IP地址
可以通过修改你电脑上的hosts文件,绕过DNS,直接指定一个域名的IP(因为有时候电信会给你假IP)
修改hosts文件,mac终端:
vi ~/etc/hosts
在里面添加一行
123.123.123 baidu.com
保存退出,再ping baidu.com,返回的就会是123.123.123了,这样就绕过了DNS
本文版权归属于彭奕泽和饥人谷
网友评论