什么是HTTP?
HTTP是超文本传输协议(Hypertext Transfer Protocol)的缩写,运行在TCP之上。它指定了客户端向服务器发送什么样的消息能够得到何种回应。
HTTP和HTTPS?
HTTPS是安全版本的HTTP,加入了SSL的证书。
HTTP和HTTPS的区别?
- HTTPS需要申请ca证书,免费证书比较少,需要付费。
- HTTPS和HTTP的端口不同,HTTP的端口是80,而HTTPS的端口是443。
- HTTP传递信息是明文传输,HTTPS采用的是具有安全性的SSL加密传输协议。
- HTTP的连接是无状态的,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
2xx
2xx 响应的结果标明请求被正常处理了
- 200 OK 表示客户端发起来的请求在服务器已经被成功处理了
- 204 No Content 表示服务器接收的请求已经被成功处理,但响应报文中不含实体的主体部分,一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用
- 206 Partial Content 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求 响应报文中包含由 Content-Range 指定范围的实体内容
3xx
3xx的响应结果表明浏览器需要执行某些特殊的处理以正确处理请求,301,302,303的响应状态码返回时,浏览器几乎都会把POST改成GET,并删除请求报文中的实体,
-
301 Moved Permanently 永久地重定向,请求的状态码已经重新分了新的URI,以后使用现在的URI。
-
302 Found 临时性重定向,和301差不多,只不过新的URI不是永久地,只是临时性的。
-
303 See Other 表示由于请求对应的资源存在着另一个 URI,应使用 GET 方法定向获取请求的资源。与302不同的是303指定了要用GET请求资源。
-
304 Not Modified 表示客户端发送附带条件的请求时,服务器虽然允许访问资源,但未满足条件。304返回时,不返回任何响应的主体的主体部分。304和重定向没有关系。
-
307 Temporary Redirect 临时重定向,与302有相同的含义,302虽然禁止POST,但是浏览器并不遵守,307遵守浏览器的标准。
4xx
4xx表示客户端出毛病了。
- 400 Bad Request 表示请求报文中存在问题,请求发生后,需要修改请求的内容再次发送请求,否则浏览器会像200一样对待。
- 401 Unauthorized 该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。另外若之前已进行过 1 次请求,则表示用 户认证失败 返回含有 401 的响应必须包含一个适用于被请求资源的 WWW-Authenticate 首部用以质询(challenge)用户信息。当浏览器初次接收到 401 响应,会弹出认证用的对话窗口。
- 403 Forbidden 表示请求的资源被服务器禁止了。比如授权问题。
- 404 Not Found 表示请求的资源找不到。
- 405 Method Not Allowed 客户端的方法虽然能被服务器识别到,但是服务器禁止使用该方法。
5xx
5xx表示服务器发生错误
- 500 Internal Service Error 服务器在执行请求时发生了错误。
- 502 Bad Gateway 该状态码表明扮演网关或代理角色的服务器,从上游服务器中接收到的响应是无效的。
- 503 Service Unavaliable 表示服务器负载或者正在维护,现在无法处理请求。