面试题-网络http、https

文章目录

  • 请求和响应结构
    • 请求:
      • 方法
    • 响应
      • 响应码
    • 缓存相关header
  • http https的区别和原理
  • rtps rtpsu
  • CDN
  • DNS
  • http各版本的差异

请求和响应结构

请求:

  1. 请求头 Request Headers
GET /web/main/pack/find?userId=33816 HTTP/1.1
  1. 请求头
Host: baidu.com
Connection: keep-alive
Content-Length: 142
Pragma: no-cache
Cache-Control: no-cache
Origin: https://www.baidu.com
x-requested-with: XMLHttpRequest
uc-csrf-token: 52c593fc2693453e2df0f38e4c576c41
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36
content-type: application/x-www-form-urlencoded
Accept: */*
Referer: https://ucads.ucweb.com/adglobal/static/index.html?userId=33816
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,fr;q=0.7,zh-TW;q=0.6
Cookie: cna=LC87FZOpRQ0CAWoLAMTgG01k; locale=zh_CN; 

请求体

pageNo=1&pageSize=20&sort=time&asc=true&reportType=1

面试题-网络http、https_第1张图片

方法

GET 从服务器获取数据
HEAD 只获取头部信息
POST 向服务器发送需要处理的数据
PUT 将 请求的主体部分 存储到 服务器
DELETE 删除
OPTION 决定可以在服务器上 执行哪些方法
TRACE 对可能经过代理服务器传送到服务器上的报文进行跟踪

响应

响应头

HTTP/1.1 200 OK
Date: Mon, 10 Jun 2019 07:05:03 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: Tengine
Set-Cookie: UC-CSRF-TOKEN=25144405562b6eef1a6b0e9aa02bd87a; Domain=ucads.ucweb.com; Path=/
Content-Encoding: gzip

响应体

指定格式数据

面试题-网络http、https_第2张图片

响应码

100-199 信息提示
200-299 成功
300-399 重定向
400-499 客户端错误
500-599 服务端错误

HTTP1.1 向协议引入了信息性状态码
100 continue 收到了请求的初始部分,请客户端继续。
101 switching protocols 服务器根据客户端指定,将协议切换成Update首部所列的协议。

200 OK
201 Created
202 Accepted
203 Non-Authoriative Information
204 No Content
205 Reste Content
206 Partial Content

300 Multiple Choices
301 Moved Permanently(永久的) 在请求的URL已被移除时使用
302 Found 客户端应使用Location首部给出的URL来临时定位资源
303 See Other
304 Not Modified
305 Use Proxy
307 HTTP1.1使用 与302类似

400 Bad Request 错误的请求
401 Unauthorized 未授权
402 保留
403 Forbidden 拒绝
404 Not Found
405 Method Not Allowed
406 Not Accepted
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone 与404类似
411 Length Required
。。。

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported

缓存相关header

Cache-Control
Pragma

ETag
EXpires
在这里插入图片描述
Last-Modified
在这里插入图片描述
在这里插入图片描述

http https的区别和原理

https比http多了SSL层,安全层,提供了端到端的加密。
端口:http是80端口,https是443端口。

rtps rtpsu

rtps: Real Time Streaming Protocol
rtpsu:u代表udp

CDN

DNS

用户访问www.baudo.com的过程:

  1. 浏览器检查缓存有没有域名对应的IP,没有继续2
  2. 检查操作系统缓存是否有,/etc/hosts文件
  3. 如何知道域名服务器? 这里是LDNS
    cat /etc/resolv.conf
    面试题-网络http、https_第3张图片
  4. 如果LDNS没有命中,到Root Server域名服务器请求解析
  5. 根域名服务器 返回 给 本地域名服务器一个 所查询域的 主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如.com .cn
  6. 本地域名服务器 再向 主域名服务器(gTLD Server) 发送请求
  7. 主域名服务器(gTLD Server) 返回 域名 对应的 Name Server域名服务器地址
  8. 本地域名服务器 再向 Name Server域名服务器发送请求,获域名对应IP,TTL
  9. 本地域名服务器 缓存 域名-IP和TTL
    10.把解析结果 返回给 用户,用户根据TTL缓存 到本地缓存
    面试题-网络http、https_第4张图片
    面试题-网络http、https_第5张图片
    面试题-网络http、https_第6张图片

http各版本的差异

https://blog.csdn.net/qq_22238021/article/details/81197157

参考资料:
《深入分析Java Web技术内幕》
《HTTP权威指南》
https://blog.csdn.net/xiaoming100001/article/details/81109617

你可能感兴趣的:(java)